Edit online

测试指南

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