临界区保护
设计目标:
临界区概念:指的是访问多个任务共享资源的一段代码。当有任务进入临界区时,其他任务必须等待直至该任务离开临界区,以确定共享资源的访问不会冲突
临界区保护原理:
设计实现:使用关中断保护临界区,中断控制寄存器PRIMASK
uint32_t tTaskEnterCritical(void)
{
uint32_t primask = __get_PRIMASK();
__disable_irq();
return primask;
}
void tTaskExitCritical(uint32_t status)
{
__set_PRIMASK(status);
}