中断屏蔽
屏蔽中断函数
在任务中使用
taskENTER_CRITICA()/taskEXIT_CRITICAL()
在中断中使用
taskENTER_CRITICAL_FROM_ISR()/taskEXIT_CRITICAL_FROM_ISR()
功能介绍
使用上述函数,进入临界中断,任务不会切换,且中断优先级处于configMAX_SYSCALL_INTERRUPT_PRIORITY与configKERNEL_INTERRUPT_PRIORITY之间的中断会被屏蔽,低于configMAX_SYSCALL_INTERRUPT_PRIORITY的中断不会被屏蔽,知道退出临界区
总结:使用上述函数处于临界区的程序,不会被别的任务切换,且能屏蔽一些中断。
暂停调度器
函数
vTaskSuspendAll()/xTaskResumeAll()
功能
在使用vTaskSuspendAll()函数后,会暂停任务调度,就算其它更高优先级任务就绪了,也不会切换,但是没屏蔽中断,依然会被中断打断。