Hi,
I am using FLEXCAN in S32K146. 4 CAN messages are received using remote frame concept. Out of 4 messages, the first message data is filled with zeroes and correct data is received for the remaining 3 messages.
Below procedure is followed:
Send remote frame requesting 4 CAN messages.
Software keeps polling IFLAG register to see which CAN message is received. If IFLAG of corresponding message is set, data is copied from MB.
User manual states, when a message is transmitted, IFLAG of the corresponding message object will get set. Is this the case for remote frame as well? If so, is there a chance software can copy incorrect data from message buffer as IFLAG is already set?
NOTE: Polling of CODE filed of message object is not recommended in user manual. If CODE field is also checked along with IFLAG then it is giving a different issue.
1."User manual states, when a message is transmitted, IFLAG of the corresponding message object will get set. Is this the case for remote frame as well?"
yes, a status flag is set in the Interrupt Flag register and an interrupt is generated if allowed by the corresponding Interrupt Mask Register bit.
2. "well? If so, is there a chance software can copy incorrect data from message buffer as IFLAG is already set?"
for your sentence, I guess you're refer to Receive Process right?
if yes, you can take a look at the S32K-RM,FlexCAN->Receive Process.