Free RTOS学习随笔(1),临界区代码
Free RTOS学习随笔(1),临界区代码 基本介绍 Free RTOS中临界区代码常用函数 任务级临界代码保护 调用方式 实现原理 中断级临界代码保护 调用方式 实现原理 基本介绍 临界区代码指的是那些必须完整执行、不能被打断的代码,比如在初始化一些外设的时候,需要按照严格的时序进行,这样的代码是不能被中断打断的。 Free RTOS在进入临界区代码时,需要关闭中断,当临界区代码完整执行后再打开中断。 临界区代码一定要尽可能精简,进入临界区关闭中断后,优先级低于 configMAX_SYSCALL_INTERRUPT_PRIORITY 的中断不会被及时响应。 简单的说原理嘛,就是要运行临界区代码的时候,先把全局中断关了,防止运行临界区代码的时候,被中断打断,等代码运行完了,再把全局中断打开。 Free RTOS中临界区代码常用函数 taskENTER_CRITICAL ( ) ; //任务级临界代码保护 taskEXIT_CRITICAL ( ) ; taskENTER_CRITICAL_FROM_ISR ( ) ; //中断级临界代码保护 taskEXIT_CRITICAL_FROM_ISR ( ) ; 任务级临界代码保护 调用方式 taskENTER_CRITICAL() 和 taskEXIT_CRITICAL() 是任务级的临界代码保护,顾名思义,一个是进入临界区