CANOpen学习(一)
CANOpen心跳功能学习
结合周立功Can分析仪+硬石科技canopen心跳主站源码+rtthread的定时链表思想+正点原子stm32f407开发板,学习festival源码关于canopen心跳功能的实现和改写。本文章仅用于自学记录和分享,如阅读中发现不完整或有误,欢迎及时指正,文件附件代码只是自己随意修改的学习资料,所以如无必要不要下载。
链接地址:https://download.csdn.net/download/weixin_43695159/85493568
修改串口PIN脚和CAN的PIN脚
根据正点原子开发板,对相关硬件进行配置
原本timer中发送心跳包的相关逻辑
原本心跳发送是在定时器中断中,定时器时钟设置为1MHZ,计数周期设置为最大0xFFFF,我也没有完全明白这个逻辑,而且实际通过周立功can分析仪测试下来发现心跳包发送频率很高且不是周期发送,如下图:
修改心跳发送逻辑
修改定时器周期为10us
配置定时器分频系数和周期计数值,把定时中断时间设为为10us,在定时中断中进行系统时钟计数。
修改timer.c文件中发送心跳包的逻辑
并且将这个函数放到裸机主循环中进行