Part Number: TMDXDOCK28075
I have written a small program to receive CAN messages and ship them out on USB.using a TMS320F28075 development board, using the CAN library.. The problem I am having is that when the processor receives a
CAN message it generates a status interrupt indicating that a message was received but does not associate the incoming message with a message object. Now for the details:
- The system is running on a 20Mhz crystal, multiplied to 120Mhz for the actual clock (time 12 divided by 2).
- CAN is running at 500 kbps. On an oscilloscope I can see the incoming message and the acknowledgement that that the message was seen.
- At the same time I get an interrupt. CANIntStatus(CANA_BASE, CAN_INT_STS_CAUSE) returns 0x8000 instead of 4 (the expected message object index)
- All of the message objects except for index 4 are disabled.
- On the interrupt CANStatusGet(CANA_BASE, CAN_STS_CONTROL) returns the RxOK bit set.
- The message object was initialized via CANMessageSet(CANA_BASE, RECEIVE_MESSAGE_OBJECT, &sRXCANMessage, MSG_OBJ_TYPE_RX). The only two flags set are receive interrupt and extended addressing.
When CANMessageGet is called it clears the message length and leaves the other fields untouched, because NEWDAT is not set for the message object.
Any suggestions for what to look at next would be much appreciated