This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CAN Rx when running, not when stepping

Other Parts Discussed in Thread: HALCOGEN

I'm using CCS6 HALCOGEN 4 and a RM48 dev board.

I'm trying to receive a bunch of can messages and parse them with some code like this:

if(canIsRxMessageArrived(MY_CAN, CAN_HEARTBEAT))
{
canGetData(MY_CAN, CAN_HEARTBEAT, rx_data);
rx_counter++;
parse_heartbeat(rx_data);
}

When it is running in debug mode (not paused/suspended), it seems to receive messages fine and the counter is incrementing. When I pause/suspend and single step through, canIsRxMessageArrived() always returns 0, even though messages are being sent to my dev board at 100 Hz.

Any idea why I can't receive messages when single-stepping?

Thanks,

Matt

  • Matt,

    I don't think you can.  The TRM describes Debug/Suspend operation for the DCAN in section 23.16.  Unlike most of the other IPs I don't see an option to continue on suspend,  just an option to suspend immediately interrupting a transfer or to finish any pending transfer and then stop.