测试指南
30 Oct 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
会打印接收到的数据。
aic /> can_rx
The can1 received thread is ready... # 设置 CAN1 为接收端
aic /> can_tx
can_tx - test CAN0 send CAN-frame.
Usage: can_tx CAN_FRAME
CAN_FRAME format: frame_id#frame_data
For example:
can_tx 1a3#11.22.9a.88.ef.00
aic /> can_tx 1a3#11.22.9a.88.ef.00 # 设置 CAN0 为发送端,并发送数据帧 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
命令:
aic /> 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
执行命令,CAN
设备会向自己发送数据,并会打印接收到的数据。
aic /> test_can can1 1a3#11.22.9a.88.ef.00 # 设置 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