Solution: To ensure that the sent data is not lost, the USB-CAN device has an automatic retransmission function. If the USB-CAN device is not connected to the CAN bus, the baud rate does not match the CAN bus, the wiring is incorrect or the termination resistance does not match and the USB-CAN device cannot receive the response signal, then the USB-CAN device will automatically retransmit until the data is received by the other nodes of the CAN bus or the USB-CAN device is powered off and restarted. The USB-CAN device will automatically retransmit until the data is received by other nodes on the CAN bus or the USB-CAN device is powered down and restarted. Each channel has a data buffer capacity of 1000 frames, if the buffer is not full by 1000 frames, the host computer will call the send function and return 1 to indicate that the data has been sent normally to the debugger buffer waiting to be sent. When the buffer is full of 1000 frames, the host computer will call the send function and return 0, indicating that the send has failed, until the buffer data is sent normally.
There are several situations where data is not sent:
①The debugger configuration is incorrect. Follow the instructions in the manual to restore the factory settings and repeat the transmit/receive test between two channels.
② Baud rate mismatch. Please check the baud rate of the debugger and the device using the method above
③Wrong wiring. Please check that CANH and CANL are wired correctly.
④ Incorrect termination resistor. Make sure there are two termination resistors across the bus.
⑤ Device on the bus is abnormal. Make sure that the device on the bus is working normally, this can be checked by testing the baud rate with an oscilloscope.
⑥The device on the bus is in listen mode. The condition for the debugger to retransmit is that it cannot receive the handshake signal or handshake frame from the target device. If all devices on the bus are in listen mode, the devices on the bus can receive the data sent by the debugger, but there will be no response, and the debugger will automatically retransmit if it does not receive the response signal. Make sure that all devices on the bus are in normal operation mode.