首页 > 解决方案 > 两个 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()
       

标签: python

解决方案


如果您将两个 Peak CAN 适配器用于与 python can 库相关的应用程序,则首先使用 channel='PCAN_USBBUS1' 和 channel='PCAN_USBBUS2' 其他。此外,请注意按正确顺序将峰值 CAN 适配器连接到笔记本电脑。第一个连接到笔记本电脑的 USB 被认为是通道='PCAN_USB1',下一个被认为是'PCAN_USB2'。


推荐阅读