Issue with RX buffer cleared when initializing/uninitializing other CAN channels (C# / PCAN-Basic)
Posted: Fri 29. Aug 2025, 12:47
Hello,
I am building a C# application to flash an ECU via UDS.
My hardware setup includes 3 USB PeakCAN devices.
Problem description:
When I flash on CAN1, it works correctly.
However, if I call Initialize or Uninitialize on CAN2 or CAN3 during the flashing process, the RX buffer of CAN1 gets cleared, which causes the flashing to fail.
I already checked that the handles for the 3 CAN channels are different.
Questions:
Is there any known issue with the PCAN-Basic API where calling Initialize or Uninitialize on another channel clears the RX buffer of an already active channel?
Do I need to use a specific initialization sequence to avoid this problem?
Is there a recommended way to handle multiple USB PeakCAN devices in parallel without interfering with each other’s RX buffers?
Any advice or hints would be highly appreciated.
Thank you,
I am building a C# application to flash an ECU via UDS.
My hardware setup includes 3 USB PeakCAN devices.
Problem description:
When I flash on CAN1, it works correctly.
However, if I call Initialize or Uninitialize on CAN2 or CAN3 during the flashing process, the RX buffer of CAN1 gets cleared, which causes the flashing to fail.
I already checked that the handles for the 3 CAN channels are different.
Questions:
Is there any known issue with the PCAN-Basic API where calling Initialize or Uninitialize on another channel clears the RX buffer of an already active channel?
Do I need to use a specific initialization sequence to avoid this problem?
Is there a recommended way to handle multiple USB PeakCAN devices in parallel without interfering with each other’s RX buffers?
Any advice or hints would be highly appreciated.
Thank you,