Why do I receive a transmit buffer overrun when I try to test the CAN interface with nothing else connected?

12/04/2022 by Kvaser

CAN requires a minimum of two active CAN nodes to have successful CAN communication.  When one node transmits on the CAN bus, the other node must be present to provide the ACK frame to let the transmitter know the frame was placed on the CAN bus correctly.  If there is no other CAN node, the CAN interface will continuously try to transmit the first CAN frame from your first canWrite call while your subsequent calls to canWrite fill the transmit buffer until the buffer is full.