Controller Area Network (CAN)
Prototype:
void
ROM_CANMessageGet(uint32_t ui32Base,
uint32_t ui32ObjID,
tCANMsgObject
*
pMsgObject,
bool bClrPendingInt)
ROM Location:
ROM_APITABLE is an array of pointers located at 0x0100.0010.
ROM_CANTABLE is an array of pointers located at ROM_APITABLE[18].
ROM_CANMessageGet is a function pointer located at ROM_CANTABLE[7].
Parameters:
ui32Base is the base address of the CAN controller.
ui32ObjID is the object number to read (1-32).
pMsgObject points to a structure containing message object fields.
bClrPendingInt indicates whether an associated interrupt should be cleared.
Description:
This function is used to read the contents of one of the 32 message objects in the CAN con-
troller, and return it to the caller. The data returned is stored in the fields of the caller-supplied
structure pointed to by pMsgObject. The data consists of all of the parts of a CAN message,
plus some control and status information.
Normally this is used to read a message object that has received and stored a CAN message
with a certain identifier. However, this could also be used to read the contents of a message
object in order to load the fields of the structure in case only part of the structure needs to be
changed from a previous setting.
When using CANMessageGet, all of the same fields of the structure are populated in the same
way as when the ROM_CANMessageSet() function is used, with the following exceptions:
pMsgObject->ui32Flags:
MSG_OBJ_NEW_DATA indicates if this is new data since the last time it was read
MSG_OBJ_DATA_LOST indicates that at least one message was received on this mes-
sage object, and not read by the host before being overwritten.
Returns:
None.
6.2.1.14 ROM_CANMessageSet
Configures a message object in the CAN controller.
Prototype:
void
ROM_CANMessageSet(uint32_t ui32Base,
uint32_t ui32ObjID,
tCANMsgObject
*
pMsgObject,
tMsgObjType eMsgType)
April 8, 2013 63