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(),低优先级的中断可能会出现丢掉的情况

posted @ 2021-11-17 10:20  小小小p鱼  阅读(546)  评论(0编辑  收藏  举报