Edit online

测试指南

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