We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi,
I'm using CAN bus with interrupts and a circular buffer for transmit frames.I have 2 volatile pointers (rear/front) and a volatile frame counter vars that I'm managing in the CAN ISR and in the push/pull routines.
But after a random number of transmitted frames, the ISR stopped generating interrupts without apparent reason.
But After deep debugging, it seems even if a frame is transmitted and at the same time , I'm desactivating CAN interrupts , the "tx done interrupt" flag is never set !!! So when I reactivate again , the ISR is never called again ... Note : In the push / pull code , I briefly desactivate the Can interrupt in order to preserve the pointers/counter integrity.
How can I use circular buffer with this Can controler weak ?
thanks in advance
Did you try the "Support" link in the menu, and then "Example Programs and Utilities" and finally "ARM Download Files"?
You might find a number of other interesting pieces there too.