我正在努力解决通过两个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()
如果对与python CAN库相关的应用程序使用两个Peak CAN适配器,则必须首先使用channel='PCAN_USBBUS1',然后使用channel='PCAN_USBBUS2'作为其他。另外,注意将peak CAN适配器按正确顺序安装到笔记本电脑上。第一个连接到笔记本电脑的USB被认为是channel='PCAN_USB1',下一个被认为是'PCAN_USB2'
相关问题 更多 >
编程相关推荐