UART Receive Non-Functioning with HAL Firmware

Hello: This issue is using and STM32L4, and FreeRTOS v9. HAL is being a problem with interrupts on the UART. My FreeRTOSConfig.h has this: ~~#define configPRIOBITS 4 ~~#define configLIBRARYLOWESTINTERRUPTPRIORITY 3 ~~#define configLIBRARYMAXSYSCALLINTERRUPTPRIORITY 3 ~~#define configKERNELINTERRUPTPRIORITY ( configLIBRARYLOWESTINTERRUPTPRIORITY << (8 – configPRIOBITS) ) ~~#define configMAXSYSCALLINTERRUPTPRIORITY ( configLIBRARYMAXSYSCALLINTERRUPTPRIORITY << (8 – configPRIOBITS) ) I know the scheduler is working OK because the systick is generated by TIM17, at the end of SystemClockConfig() this code: HALNVICSetPriorityGrouping(NVICPRIORITYGROUP4); HALNVICSetPriority(SysTickIRQn, 15, 0); And a task has no problem executing after scheduler launch. The UART is configured for interrupt callback and at the end of the configuration file: HALNVICSetPriority(USART3IRQn, 3, 0); HALNVICEnableIRQ(USART3IRQn); The callback (toggle a LED when active rx) void HALUARTRxCpltCallback(UARTHandleTypeDef* uartHandle) { HALGPIOTogglePin(GPIOB, GPIOPIN8); HALUARTReceiveIT(&huart3, rxBuff, 4); } In main(): MXUSART3UARTInit(); HALUARTReceiveIT(&huart3, rxBuff, 4);
At the start of the program the LED is on momentarily, then off, and does not come back on. I have this same interrupt functioning in a non-FreeRTOS application so I know the interrupt and callback appears to be working.
I have read the section on M4 implementation, as mentioned, I have used FreeRTOS in quite a few CMSIS based firmware projects without problems, and in fact I am using the same FreeRTOSConfig file. What can the issue be?

UART Receive Non-Functioning with HAL Firmware

Hi, figured it out. Didn’t have one of the priorities set in HAL correctly.