MindSDK_MM32F5270/demo_apps/canopen/co_pdo_slave
Yilin Sun 3977144e90
Initial MM32F527x commit.
Signed-off-by: Yilin Sun <imi415@imi.moe>
2023-03-27 21:54:40 +08:00
..
build Initial MM32F527x commit. 2023-03-27 21:54:40 +08:00
board_init.c Initial MM32F527x commit. 2023-03-27 21:54:40 +08:00
board_init.h Initial MM32F527x commit. 2023-03-27 21:54:40 +08:00
clock_init.c Initial MM32F527x commit. 2023-03-27 21:54:40 +08:00
clock_init.h Initial MM32F527x commit. 2023-03-27 21:54:40 +08:00
CO_driver_target.h Initial MM32F527x commit. 2023-03-27 21:54:40 +08:00
CO_driver.c Initial MM32F527x commit. 2023-03-27 21:54:40 +08:00
CO_OD.c Initial MM32F527x commit. 2023-03-27 21:54:40 +08:00
CO_OD.h Initial MM32F527x commit. 2023-03-27 21:54:40 +08:00
main.c Initial MM32F527x commit. 2023-03-27 21:54:40 +08:00
pin_init.c Initial MM32F527x commit. 2023-03-27 21:54:40 +08:00
pin_init.h Initial MM32F527x commit. 2023-03-27 21:54:40 +08:00
readme.md Initial MM32F527x commit. 2023-03-27 21:54:40 +08:00

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 节点发送报文后处理该报文请求,复位当前节点通讯层,并重新上线。