2013-05-13 02:10 AM
Hi guys, i've a problem with USART communication using interrupts.
Using only USART device, the communication works correctly.When i try to using the usart device with some other timers interrupt routines with timers about 100 msec seems that these routines blocks the USART.How can i handle the interrupt priority vector?Now i use a global NVIC structure and set all the priority value to 0 but the USART priority is set to 4. But don't works.Thanks. #usart-interrupt-priority #no-nvic-priority-group2013-05-13 04:51 AM
You should look at what you're doing with the Priority Grouping, and and Preemption Priority.
Consider if you're other interrupts are hogging too much time, or spinning in wait loops. Are you using an RTOS?2013-05-14 02:15 AM
2013-05-14 02:35 AM
Sorry the M0 thing wasn't clear from your initial post, and I'm not tracking your part usage. That would be easier if the forum permitted a view of your profile to actually show your posts rather than simple a count of them.
Having a timer interrupt running at 10 Hz (100 ms) honestly doesn't seem like a high loading, unless you have the processor running very slowly, or it's dwelling in there for a long time. You should probably evaluate what you're doing in that timer interrupt, and perhaps profile it via a GPIO pin so you can see how long it runs for. The USART doesn't have a HW FIFO, so figure you need to service it within a 10-18 baud clock window.