freertos之资源管理

中断屏蔽

屏蔽中断函数

在任务中使用

taskENTER_CRITICA()/taskEXIT_CRITICAL()
freertos之资源管理_第1张图片

在中断中使用

taskENTER_CRITICAL_FROM_ISR()/taskEXIT_CRITICAL_FROM_ISR()
freertos之资源管理_第2张图片

功能介绍

使用上述函数,进入临界中断,任务不会切换,且中断优先级处于configMAX_SYSCALL_INTERRUPT_PRIORITY与configKERNEL_INTERRUPT_PRIORITY之间的中断会被屏蔽,低于configMAX_SYSCALL_INTERRUPT_PRIORITY的中断不会被屏蔽,知道退出临界区

总结:使用上述函数处于临界区的程序,不会被别的任务切换,且能屏蔽一些中断。

暂停调度器

函数

vTaskSuspendAll()/xTaskResumeAll()
freertos之资源管理_第3张图片

功能

在使用vTaskSuspendAll()函数后,会暂停任务调度,就算其它更高优先级任务就绪了,也不会切换,但是没屏蔽中断,依然会被中断打断。

你可能感兴趣的:(freertos)