测试指南
23 Dec 2024
Read time: 2 minute(s)
测试环境
- 硬件
-
测试板:带有两个 CAN 接口的测试板
-
PC:用于和测试板交互
-
串口线:连接测试板的调试串口
-
- 软件
-
PC 端串口终端软件
-
test_can 测试程序 (正常模式)
-
test_can_loopback 测试程序 (回环模式,又称自测模式)
-
- 软件配置CAN 测试程序配置在 Luban-Lite 根目录下执行 scons --menuconfig,进入 menuconfig 的功能配置界面,按如下选择:
Drivers options ---> Drivers examples ---> [*] Enable CAN driver test command
正常模式收发测试
将测试板上的两个 CAN 接口对接。执行命令,CAN0 会向 CAN1 发送数据,CAN1 会打印接收到的数据。
- 设置 CAN1
为接收端
can_rx
结果输出如下:The can1 received thread is ready...
-
测试 CAN0 发送一个 CAN 数据帧:
can_tx CAN_FRAME
发送的 CAN_FRAME 格式为frame_id#frame_data
。例如,设置 CAN0 为发送端,并发送数据帧1a3#11.22.9a.88.ef.00
:can_tx 1a3#11.22.9a.88.ef.00
can1 received msg: ID: 0x1a3 DATA: 11 22 9a 88 ef 00
注:测试代码中打印了信息,仅供演示 CAN 接收到了数据。在项目开发中,用户应该关闭打印信息,否则如果使用 CAN 测试仪在短时间内发送大量数据,打印语句可能会耗时很长,导致 CAN 丢帧。
回环模式收发测试
在打开 test_can 的编译后,板子上可直接运行 test_can
命令:
test_can
test_can - test CAN send frame to itself (loopback mode)
Usage:
test_can <can_name> frame_id#frame_data
For example:
test_can can1 1a3#11.22.9a.88.ef.00
例如,执行下列命令,设置 CAN1 为接收端和发送端,CAN1 设备会向自己发送数据帧
1a3#11.22.9a.88.ef.00,并会打印接收到的数据。
test_can can1 1a3#11.22.9a.88.ef.00
The can1 received thread is ready...
received msg:
ID: 0x1a3 DATA: 11 22 9a 88 ef 00