STM32 中断中调用freeRTOS API 需要注意的地方


1、中断里调用 信号量、消息队列等API, 信号量的接收、消息队列的接收都需要等待中断结束后才能响应

2、中断回调函数只能使用中断级API (xxFromISR) 函数

3、比configMAX_SYSCALL_INTERRUPT_PRIORITY优先级高的中断函数中不能使用FreeRTOS的函数

4、临界代码保护后不可调用osDelay()

5、如果高优先级的中断EX1抢占了低优先级的中断EX2,EX1中也调用了freeRTOS的信号量或者消息队列不会立即响应,需要等待EX2的中断结束后才会响应。

6、高优先级的中断在执行中如果用了延迟函数HAL_Delay(),低优先级的中断可能会出现丢掉的情况