2014-12-08 06:39 AM
I use 429 UART1 with FreeRTOS. UART1 make an interrupt and 429 enter into ISR.
But it hang in the FreeRTOS code line: configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); which is in function vPortValidateInterruptPriority( void ); ucCurrentPriority = 0x00, and ucMaxSysCallPriority = 0x50. ucCurrentPriority is current UART1 interrupt priority and get from NVIC 0xE000E3F0. What is the priority of uart1? How can I get it? Thank you.2014-12-09 01:34 AM
The default priority for all interrupts is 0 - which is the highest possible priority (despite being the lowest possible number, reverse logic). I suspect therefore you just have not set the priority at all. The ST drivers provides a function to set the interrupt priority, and examples of how it is used.
See the following page for interrupt priority requirements when using FreeRTOS - Cortex-M has the most complex interrupt priority requirements of any of the 34 or so architectures that we support with FreeRTOS.