BeagleBone Black(BBB)的CAN传输器在发送数据时,可能会出现计数器显示为零的问题。这可能是由于许多原因引起的,如未正确配置CAN传输器,软件问题等。为了解决这个问题,可以尝试以下几个步骤:
ip link show can0
如果输出显示正确,即可以看到“state UP”和“mode can”就表示CAN传输器已经被正确配置了。如果没有正确配置,请参考BBB的文档来进行配置。
sudo ip link set can0 up type can bitrate 500000
可以根据需要调整速率的值。
sudo modprobe can sudo modprobe can_raw sudo modprobe mcp251x sudo ip link set can0 up type can bitrate 500000
import can bus = can.interface.Bus(channel='can0', bustype='socketcan_native') msg = can.Message(arbitration_id=0xc0ffee, data=[0, 25, 0, 1, 3, 1, 4, 1], is_extended_id=False) bus.send(msg)
如果上述代码可以正常工作,说明CAN传输器已经开始工作,并且该