(一下每步只做一次,多个只选一个即可)
0、ifconfig can0 down
ip link set can0 type can restart-ms 100
1、设置波特率
ip link set can0 up type can bitrate 500000
echo 500000 > /sys/class/net/can0/can_bittiming/bitrate
2、ifconfig can0 up
ip link set can0 up type can
ip -details link show can0
3、cansend can0 123#11223344556677
./cansend can0 -e 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88
发送默认ID为0x1的can标准帧,数据为0x11 22 33 44 55 66 77 88
每次最大8个byte
./cansend can0 -i 0x800 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88 -e
-e 表示扩展帧,CAN_ID最大29bit,标准帧CAN_ID最大11bit
-i表示CAN_ID
4、./candump can0
candump can0
5、静默模式
CAN_Mode_Silent:静默模式,简单理解收到数据不发送应答信号。
在静默模式下,总线必须要有2个或2个以上的节点,才能收到数据,个 人理解有应答信号stm32的can内核才认为只是一个完整的数据
静默模式测试,需要先ack一次,才能继续下面的工作。(测试方法,板子上1050的pin8,先接地,启动收发,然后上拉,发送信息失败。如果先上拉,则收发都失败。)
6、多节点模式测试,a、正常,多节点可以直接进入silent模式,只收不发。b、多节点出错怎么办?
7. cansend can0 -i 0x02 0x11 0x12 --loop=20
--loop 表示发送20个包
网友评论