Dear all,
I am using LM3S5791 controller and from the data sheet i understood that the CAN messages are transmitted according to their internal priority of message object.
ie msg obj 1 is having high priority and 32 is having low priority.
Suppose message object 1 <-- loaded with CAN id 10
message object 2 <-- loaded with CAN id 10,000
message object 3 <-- loaded with CAN id 15
In this scenario, whether the CAN controller will wait for the transmission of message object 2 (which is having low CAN message id, take more time to win the bus) or it will skip the message object2 and tries to transmit the CAN messages from the message object 3 ?
Any suggestions will be appreciated.
Thanks in advance. Waiting for your valuable reply.
Sincerely,
Suraj
suraj gWaiting for your valuable reply.
As an alternative to, "waiting" - could not you attempt this scenario in several formats - gain your knowledge, "wait-free?" (but not effort-free...)
Often this, "learn via controlled experiment" falls victim to, "wait for valuable reply." Certainly worth consideration - this case & multiple others...
Hello Suraj,
Per the datasheet:
The transmission of any number of message objects may be requested at the same time; they aretransmitted according to their internal priority, which is based on the message identifier (MNUM) forthe message object, with 1 being the highest priority and 32 being the lowest priority.
My reading of that would indicate it will not skip message object 2 in your example. It will send them in the message object order. If another behavior is desired, it would need to be managed in software.
Dear Stellaris Mitch,
Thanks for the reply. So what i understood is that only after the successful transmission of message object 2, CAN controller will transmit message object 3. Please correct me if my understanding is wrong.
Thanks in advance.