|
||
---|---|---|
.. | ||
build | ||
board_init.c | ||
board_init.h | ||
clock_init.c | ||
clock_init.h | ||
CO_driver_target.h | ||
CO_driver.c | ||
CO_OD.c | ||
CO_OD.h | ||
main.c | ||
pin_init.c | ||
pin_init.h | ||
readme.md |
co_pdo_slave
实验过程
- 初始化系统和外设时钟及引脚定义
- 初始化 TIM, FlexCAN 和 CANopen 协议栈
- 启动 CAN 收发中断,启动 1ms 定时器,启动 CANopen 协议栈,CANopen 节点以 500 kbps的比特率上线
- 同时请将 co_pdo_master 节点接入到同一个 CAN 网络中,并且同时上电
实验现象
节点上线向 CAN 网络发送节点上线报文:
CAN-ID(hex) | Length | Data(hex) |
---|---|---|
706 | 1 | 00 |
之后以 1000ms 的时间间隔向 CAN 网络发送节点心跳报文:
CAN-ID(hex) | Length | Data(hex) |
---|---|---|
706 | 1 | 05 |
当接收到 CANopen 网络中的 co_pdo_master 节点发送报文后处理该报文请求,复位当前节点通讯层,并重新上线。