测试指南
测试环境
硬件
测试板:带有两个CAN接口的测试板
PC:用于和测试板交互 -串口线:连接测试板的调试串口
软件
PC端串口终端软件
test_can测试程序 (正常模式)
test_can_loopback测试程序 (回环模式,又称自测模式)
软件配置
CAN测试程序配置
在 Luban-Lite 根目录下执行 scons --menuconfig,进入menuconfig的功能配置界面,按如下选择:
Drivers options --->
Drivers examples --->
[*] Enable CAN driver test command
1
2
3
2
3
正常模式收发测试
将测试板上的两个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
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
注意
测试代码中的打印只是为了说明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
1
2
3
4
5
6
2
3
4
5
6
执行命令,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
1
2
3
4
2
3
4