CANopen源码简单讲二
上次讲到CAN口的初始化 , 这次先讲CAN发送程序和中断接收程序 。
文章插图
can接受中断回调函数
这个回调函数里的canDispatch(&ObjDict_Data, &Rx_Message)是重要的解包程序 , 接收到的信息都会在这个函数里解码 。
文章插图
can发送函数
在CAN发送函数中 , 会把信息组合成符合CANopen协议的信息帧 。
接下来讲调度器所需要的时间函数 。 随便选择一个定时器 , 我这边选择的是定时器3 , 初始化状态为:timer3_init(65536-1, 72-1) 。
文章插图
定时器初始化函数
然后在中断回调函数里放入TimeDispatch()时间调度函数 。
文章插图
定时器的中断回调函数
【CANopen源码简单讲二】其中还需要两个函数用来计算时间帧 , 这两个函数一定要放入 , 可以不按我的方式来写 , CANopen源码并没有要求怎么写这两个函数 。
文章插图
时间帧计算函数
至此 , CANopen底层的代码就准备完善了 , 接下来就是配置对象字典了 。 下次我们将如何配置对象字典 。
- 发烧捡漏:想要获得好声音,其实很简单!三
- 「技术」这样的思路,让控制器中按键处理数据的方法变得简单了
- 大牛深入解析SpringBoot核心运行原理和运作原理源码
- 一线大牛带你深入解析AutoConfiguration源码
- 原来微信自带扫描仪,学会这2个方法,纸质档一键电子化,很简单
- APP制作开发难不难?有简单快捷又省钱的方法吗?
- 微信还能发送有声音的照片吗?建议花30秒学,简单又有趣
- 互联网+废品回收,真正的暴利行业!环保为主的当下,暴富很简单
- 所有人,看过来!分期买iPhone 12,怎么记账最简单?
- 我用3个月总结出的48页python入门手册,是如此简单透彻