freertos 关闭中断
时间: 2023-10-22 22:07:35 浏览: 150
基于STM32F103的FreeRTOS系列·中断管理相关
在 FreeRTOS 中,可以使用 vPortEnterCritical() 和 vPortExitCritical() 函数来关闭和开启中断。这两个函数会根据不同的架构和编译器进行相应的实现,以确保在关闭中断期间不会被任务切换打断。
具体来说,vPortEnterCritical() 函数会将当前中断嵌套计数器加一,并且如果当前中断嵌套计数器为一,则会将全局中断使能标志位清零,从而关闭中断。而 vPortExitCritical() 函数则会将当前中断嵌套计数器减一,并且如果当前中断嵌套计数器为零,则会将全局中断使能标志位设置为一,从而开启中断。
需要注意的是,在关闭中断期间,所有的中断服务程序都会被阻塞,因此需要尽量减少关闭中断的时间,以避免影响系统的实时性能。
阅读全文