Other Parts Discussed in Thread: HALCOGEN
TMS570LS1227 Interrupt driven DCAN
I am working on a controller board that communicates with a display.
The controller sends display messages and receives keystroke message.
The controller uses CAN3 for display RX/TX communcations.
I am using a CANUSB monitor to track the messaging.
When the controller only transmits messages, everything works fine.
When the controller only receives messages, by commenting the mainline code below, everything works fine.
If I let the controller transmit messages for a while, the touch a key on the display, the display transmits info.
The controller receives the message in MB4 properly. But the next time the controller sends a message,
The canMessageNotification never gets called to set the disp_tx_done flag and the code hangs in the mainline at the while loop.
During this time, the controller continues to properly receive messages from the display.
What am I doing wrong?
Sorry in advance for the font weirdness below.
===============================================================
250kHz, Identifier Extension Enabled
Message 1 Config = IntEn,HighPri,Activate,TX, id=4433, mask=0x01FFFFFF
Message 4 Config = IntEn,HighPri,Activate,RX, id=0x123456, mask=0x01FFFFFF
========================================================
MainLine Code:
Every 250ms I transmit a message
disp_tx_done=FALSE;
canTransmit(canREG3, canMESSAGE_BOX1, &displayinfo[0]);
while(disp_tx_done==FALSE);
=======================================================================