2. CANOPEN

2.1. 概述

canopen_demo 例程提供如下功能:

  • HeartBeat 心跳测试

  • NMT 测试

  • SDO 测试

  • PDO 测试

  • SYNC 测试

2.2. 硬件设置

将两块开发板连接

2.3. 运行现象

当该例程成功运行后,会在串口终端打印如下:

----------------------------------------------------------------------
$$\   $$\ $$$$$$$\  $$\      $$\ $$\
$$ |  $$ |$$  __$$\ $$$\    $$$ |\__|
$$ |  $$ |$$ |  $$ |$$$$\  $$$$ |$$\  $$$$$$$\  $$$$$$\   $$$$$$\
$$$$$$$$ |$$$$$$$  |$$\$$\$$ $$ |$$ |$$  _____|$$  __$$\ $$  __$$\
$$  __$$ |$$  ____/ $$ \$$$  $$ |$$ |$$ /      $$ |  \__|$$ /  $$ |
$$ |  $$ |$$ |      $$ |\$  /$$ |$$ |$$ |      $$ |      $$ |  $$ |
$$ |  $$ |$$ |      $$ | \_/ $$ |$$ |\$$$$$$$\ $$ |      \$$$$$$  |
\__|  \__|\__|      \__|     \__|\__| \_______|\__|       \______/
----------------------------------------------------------------------
*********************************************************************************
*                                                                               *
*                         CANOPEN Example Menu                                  *
*                                                                               *
* 0 - Master mode                                                               *
* 1 - Slave mode                                                                *
*                                                                               *
*********************************************************************************

2.3.1. 测试

用户连接两块开发板,并在两个开发板上同时运行该例程。必须等两块板子都出现选择菜单后,一块选择 slave,一块选择 master。

Slave 端打印如下所示:

rxSize = 11, txSize = 8
excessive number of concurrent CAN RX filters enabled (needs 11, 16 available)
enter slave mode ~ ~

Master 端打印如下所示:

enter master mode and find slave device ~~
rxSize = 11, txSize = 8
excessive number of concurrent CAN RX filters enabled (needs 11, 16 available)
find device, id:70a, status preoptional
slave enter to optional mode
PDO test successfully!
slave HBtime: 1000 ms
slave HBtime: 2000 ms
SDO test successfully!
canopen test done