摘要 |
A CAN microcontroller that supports a plurality of message objects, and that includes a CAN processor core, a plurality of message buffers associated with respective ones of the message objects, a CAN/CAL module that processes incoming messages that include a plurality of frames and a plurality of message object registers, including at least one buffer size register that contains a message buffer size value, and at least one buffer location register that contains an address pointer. The CAN/CAL module includes a message handling function that transfers successive frames of the current incoming message to the message buffer associated with a selected one of the message objects designated as a receive message object for the current incoming message an address pointer increment function. The CAN/CAL module further includes a frame status detection function, and a buffer-status detection function that retrieves the incremented address pointer value, retrieves the message buffer size value from the at least one buffer size register associated with the designated receive message object, and decodes the retrieved message buffer size value into a buffer-size mask, and determines a message buffer-fullness status of the message buffer associated with the designated receive message object using the retrieved incremented address pointer value and the buffer-size mask.
|