CANopen源码简单讲二
上次讲到CAN口的初始化 , 这次先讲CAN发送程序和中断接收程序 。
文章插图
can接受中断回调函数
这个回调函数里的canDispatch(&ObjDict_Data, &Rx_Message)是重要的解包程序 , 接收到的信息都会在这个函数里解码 。
文章插图
can发送函数
在CAN发送函数中 , 会把信息组合成符合CANopen协议的信息帧 。
接下来讲调度器所需要的时间函数 。 随便选择一个定时器 , 我这边选择的是定时器3 , 初始化状态为:timer3_init(65536-1, 72-1) 。
文章插图
定时器初始化函数
然后在中断回调函数里放入TimeDispatch()时间调度函数 。
文章插图
定时器的中断回调函数
其中还需要两个函数用来计算时间帧 , 这两个函数一定要放入 , 可以不按我的方式来写 , CANopen源码并没有要求怎么写这两个函数 。
文章插图
【CANopen源码简单讲二】时间帧计算函数
至此 , CANopen底层的代码就准备完善了 , 接下来就是配置对象字典了 。 下次我们将如何配置对象字典 。
- 页面|如何简单、快速制作流程图?上班族的画图技巧get
- 公式|?有人把 5G 讲得这么简单明了
- 简单|互联网巨头夺走菜贩生计?未必那么简单
- 简单|密码太难记不住,太简单不安全,怎么办?
- 手机|OPPO手机该如何截屏?四种最简单的方法已汇总!
- 动手做|动手做一个最简单的加法计算器
- 简单|行车记录仪数据丢失怎么办?想要简单恢复,那还不试一下这个?
- Python源码阅读-基础1
- 打印机的共享设置方法,简单6部搞定!
- 一个免费、简单、只需要手机就可以完成的Kindle 传书小技巧!|Kindle 小技巧 | 简单