
 CAN 
 接口如图所示,输入如下命令: 
 
 ifconfig -a 
 //
 查看所有网卡 
 
 如果 
 FlexCAN 
 驱动工作正常的话就会看到 
 CAN 
 对应的网卡接口,如图。从图中可 
 
 以看出,有一个名为
 “can0”
 的网卡,这个就是 
 BL302 
 板上的 
 CAN1 
 接口对应的 
 can 
 网卡 
 
 设备
 
 
 BL302 
 板子上有一个 
 CAN 
 接口,如需测试 
 CAN 
 接口,还需要一个 
 CAN 
 设备,可以使用另一块 BL302 
 板子,或者带有 
 CAN 
 的板子进行测试。 
 
 准备两块 
 BL302 
 设备,然后将 
 CAN 
 接口连接起来,
 BL302 
 设备上 
 CAN 
 接线端子 
 
 如
  
 
 
 将两个设备的 
 CAN 
 接口连接起来,注意,
 CAN_H 
 接 
 CAN_H
 ,
 CAN_L 
 接 
 CAN_L
 。 
 
 首先使用 
 ip 
 命令设置两个设备的 
 CAN 
 接口,首先设置 
 CAN 
 接口的速度,输入如 
 
 下所示命令: 
 
 ip link set can0 type can bitrate 500000 
 
 上述命令设置 
 can0 
 速度为 
 500Kbit/S
 ,两个 
 CAN 
 设备的速度要设置为一样的!速 
 
 度设置好以后打开 
 can0 
 网卡,命令如下: 
 
 ifconfig can0 up 
 //
 打开 
 can0 
 
 can0 
 打开以后就可以使用 
 can-utils 
 里面的小工具进行数据收发测试了。一个设备用 
 
 来接收数据,一个用来发送数据,接收数据的设备使用 
 candump 
 命令,输入如下命令: 
 
 candump can0 
 //
 接收数据 
 
 发送数据的设备使用 
 cansend 
 命令向接收单元发送 
 8 
 个字节的数据:
 0X11
 、
 0X22
 、 
 
 0X33
 、
 0X44
 、
 0X55
 、
 0X66
 、
 0X77
 、
 0X88
 。输入如下命令: 
 
 cansend can0 5A1#11.22.33.44.55.66.77.88 
 
 cansend 
 命令用于发送 
 can 
 数据,
 “5A1”
 是帧 
 ID
 ,
 “#”
 号后面的 
 
 “11.22.33.44.55.66.77.88”
 就是要发送的数据,十六进制。
 CAN2.0 
 一次最多发送 
 8 
 个字节 
 
 的数据,
 8 
 个字节的数据之间用
 “.”
 隔开。 
 
 如果 
 CAN 
 工作正常的话接收端就会接收到上面发送过来的这 
 8 
 个字节的数据 
 
 / # candump can0 
 
 can0 5A1 [8] 11 22 33 44 55 66 77 88 
 
 从上面可以看出,接收端的 
 can0 
 接口接收到了 
 8 
 个字节的数据,帧 
 ID 
 为 
 5A1
 ,说 
 
 明 
 CAN 
 驱动工作正常。 
 
 如果要关闭 
 can0 
 的话输入如下命令: 
 
 ifconfig can0 down 
 
 如果要在一个板子上进行 
 CAN 
 回环测试,按照如下命令设置 
 CAN: 
 
 
  ifconfig can0 down 
  //
  如果 
  can0 
  已经打开了,先关闭 
 
 
 
  ip link set can0 type can bitrate 500000 loopback on 
  //
  开启回环测试 
 
 
 
  ifconfig can0 up 
  //
  重新打开 
  can0 
 
 
 
  candump can0 & 
  //candump 
  后台接收数据 
 
 
 
  cansend can0 5A1#11.22.33.44.55.66.77.88 
  //cansend 
  发送数据 
 
 
 
  如果回环测试成功的话那么设备就会收到发送给自己的数据,如图所示: 
 
 
 
  / # cansend can0 5A1#11.22.33.44.55.66.77.88 
 
 
 
  can0 5A1 [8] 11 22 33 44 55 66 77 88 
 
 
  
 



















