如何用PythonCAN查看CAN网络的错误帧

2024-06-23 19:12:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我写了下面的程序

can = CAN("can0", bitrate=50000, listen_only=True, error_reporting=True)
while True:
        msg = can.recv()
        print "Msg: ", msg

但是它只显示标准的S或扩展的X标志,即使当我在Terminal中运行命令来检查network activity时,我可以看到错误计数器在增加。在

^{pr2}$

如何读取can总线的错误帧? 当我使用commnadcandump -e any,0:0,#FFFFFFFF时,一切正常


Tags: 程序trueonly错误msgerrorcanlisten
1条回答
网友
1楼 · 发布于 2024-06-23 19:12:31

使用Python-3

import binascii

channel_name = "vcan0"
socketID = socket.socket(socket.AF_CAN, socket.SOCK_RAW, socket.CAN_RAW)

# socketID.setsockopt(socket.SOL_CAN_RAW, socket.CAN_RAW_ERR_FILTER, 0x1FFFFFFF)

error = socketID.bind((channel_name,))
print(binascii.hexlify(socketID.recv(32)))

相关问题 更多 >

    热门问题