I am implementing the CAN module of K60, As known, the CAN module has 16 message buffers which can be configured as receive buffer and transmit buffer.
Now I want to configure 8 message buffers as transmit buffer,and call them "hard-buffer". It means that I can use the 8 transmit message buffers to transmit my CAN messages.
When I begin to send my CAN messages, I need to judge which transmit message buffer is empty, but I don't know how to judge it.
My questions are that:
1:how to jude whether a transmit message buffer is empty;
2:Is it necessary to use the 8 transmit message buffers to transmit CAN messages simultaneously.
Thanks!
yours:tenfyzhang
Hello,Moniaca Arvizu
I am sorry to tell you that I can't understand what's your meaning about these words as follows.can you make it in detail.
Thanks!
在 2013-07-25 08:28:36,"Monica Arvizu" <admin@community.freescale.com> 写道:
|
|
|
|
K60 CAN message buffer
reply from Monica Arvizu in Kinetis Microcontrollers - View the full discussion
Hello Tenfy,
How did you find those answers? Were they helpful?
Please keep us posted
Regards,
Monica.
Reply to this message by replying to this email, or go to the message on Freescale Community |
Start a new discussion in Kinetis Microcontrollers by email or at Freescale Community |
|
|
Hi Tenfy,
1. You can check the CODE field of the message buffer.
Transmit data frame unconditionally once. After transmission, the MB automatically returns to the INACTIVE state.
Transmit remote request frame unconditionally once. After transmission, the MB automatically becomes an Rx Empty
MB with the same ID.
2. Not necessary.
If two or more MBs are prepared to transmit frames, the arbitration process will be started to check all prepared MBs to get "arbitration winner". Only the winner can send frames one time.
Best Regards
Weiping