python - 两个 PCAN 适配器连接到同一台笔记本电脑的两个 USB 端口
问题描述
我正在努力解决通过两个 PCAN 适配器读取 CAN 消息的问题。两个 PCAN 适配器都连接到 Windows 笔记本电脑的 USB 端口。一个 CAN 适配器正在尝试读取 CAN 消息,而另一个正在通过 UDS 读取 DID。当我运行代码时,UDS 和 CAN 代码都使用相同的 USB 端口,使我的应用程序无法工作。CAN 库:https://python-can.readthedocs.io/en/master/ UDS 库: https ://udsoncan .readthedocs.io/en/latest/
import can
import time
import sys
bus = can.interface.Bus(bustype = 'pcan', channel ='PCAN_USBBUS1', bitrate = 500000) # Windows
bus1= PcanBus(channel='PCAN_USBBUS2', bitrate=500000) # udsoncan library
class changeState:
def Receive_Can_Message(self):
message = bus.recv(1)
print(message)
class UDS:
def ReadingUDSMessage()
// Detail UDS message
if __name__ == "__main__":
obj= changeState()
obj2.UDS()
while True:
obj.Receive_Can_Message()
obj2.ReadingUDSMessage()
解决方案
如果您将两个 Peak CAN 适配器用于与 python can 库相关的应用程序,则首先使用 channel='PCAN_USBBUS1' 和 channel='PCAN_USBBUS2' 其他。此外,请注意按正确顺序将峰值 CAN 适配器连接到笔记本电脑。第一个连接到笔记本电脑的 USB 被认为是通道='PCAN_USB1',下一个被认为是'PCAN_USB2'。
推荐阅读
- python - 仅使用月份和日期绘制数据
- python - 在 Python 中循环遍历不同数据集的行和列
- python-3.x - 检查很多 settings.ini 选项?
- python - 编写 python 代码来寻找完美的根
- python - 为什么 pycharm 在运行 pytest 时会错过这个覆盖率?
- directory - G Suite Admin SDK Groups API 订阅是否发生了变化或类似的增量 API?
- javascript - 使用 Php,我如何访问我通过 Ajax 传递的 Java 脚本对象
- c++ - 使用字符数组和递归反转字符串,一些线程 1:EXC_BAD_ACCESS 错误
- mysql - 计算期初借方和贷方和余额
- c++ - (C++) 输入检查器无法正常工作