CANopen源码简单讲二
上次讲到CAN口的初始化 , 这次先讲CAN发送程序和中断接收程序 。
文章插图
can接受中断回调函数
这个回调函数里的canDispatch(&ObjDict_Data, &Rx_Message)是重要的解包程序 , 接收到的信息都会在这个函数里解码 。
文章插图
can发送函数
在CAN发送函数中 , 会把信息组合成符合CANopen协议的信息帧 。
接下来讲调度器所需要的时间函数 。 随便选择一个定时器 , 我这边选择的是定时器3 , 初始化状态为:timer3_init(65536-1, 72-1) 。
文章插图
定时器初始化函数
然后在中断回调函数里放入TimeDispatch()时间调度函数 。
文章插图
定时器的中断回调函数
【CANopen源码简单讲二】其中还需要两个函数用来计算时间帧 , 这两个函数一定要放入 , 可以不按我的方式来写 , CANopen源码并没有要求怎么写这两个函数 。
文章插图
时间帧计算函数
至此 , CANopen底层的代码就准备完善了 , 接下来就是配置对象字典了 。 下次我们将如何配置对象字典 。
推荐阅读
- Git服务器配置错误导致日产汽车源码在网上泄露
- 1个手机怎么登录2个微信?方法很简单,看完我学会了
- 原来华为手机拍视频还能添加字幕,方法很简单,一学就会
- 手机照片、视频怎样添加文字?原来很简单,4种方法一分钟搞定
- 微信最近很火的“圣诞帽头像”,原来这么简单,快学起来
- 只为好看?手机多摄像头排布方式可没有那么简单
- DeepMind新AI无需提前知晓规则也能掌握游戏:无论视觉简单还是复杂
- 剪视频很头大?Reno5 Pro+教你简单制作Vlog
- 教你用手机把自己的照片制作成音乐视频,模板多,操作又简单
- 手机定位很简单,打开手机设置,立刻知道对方去过哪里,涨知识了