在Linux系统中, CAN总线 接口设备作为网络设备被系统进行统一管理。在控制台下, CAN总线的配置和以太网的配置使用相同的命令。
这个可以参考源码的BSP工程但是这个一般是系统工程师完成。
在系统下可以通过指令:ifconfig -a来查看
嵌入式系统常用的can测试命令: ps:需要在文件系统中添加相应的组件支撑。
#查到当前can网络 can0 can1,包括收发包数量、是否有错误等等 #ifconfig -a #关闭can设备;或使用ifconfig canX down #ip link set canX down #开启can设备;或使用ifconfig canX up #ip link set canX up #显示can设备详细信息; #ip -details link show canX #设置can波特率 #ip link set canX up type can bitrate 250000 #回环测试; #canconfig canX ctrlmode loopback on # 重启can设备; #canconfig canX restart #停止can设备; #canconfig canX stop #查看can设备总线状态; #canecho canX #接收can总线发来的数据; #candump canX #发送数据; #cansend canX --identifier=ID+数据 //使用滤波器接收ID匹配的数据 #candump canX --filter=ID:mask
系统完成了外部可以是GPIO管脚悬空测试,也可以是外设芯片等。
我这采取的方式是单独测试,使用的工具是创芯科技的CAN分析仪(至尊版)配合软件cantest使用
硬件连接:红色 连接方式h->h l->l
选择型号 及波特率 这里的波特率一定匹配不然收不到数据
设置ID:
Linux端发送数据:
can 发送数据
cansend can0 123#1122334455667788
测试端发送数据:
candump can0
测试完成。