OS_ENTER_CRITICAL
时间: 2023-08-07 21:02:46 浏览: 66
OS_ENTER_CRITICAL是一个宏定义,在不同的操作系统中有不同的实现方式。在引用\[1\]中给出了三种不同的实现方式。第一种方式是通过汇编指令cli来禁用中断,通过sti来恢复中断。第二种方式是通过汇编指令pushf和popf来保存和恢复中断标志位。第三种方式是通过定义一个局部变量来保存中断状态。在uCOS-III中,OS_ENTER_CRITICAL的名称被改为了OS_CRITICAL_ENTER,并且使用了CPU_SR_ALLOC宏来定义局部变量。\[1\]\[2\]\[3\]
#### 引用[.reference_title]
- *1* *3* [ucos中的三种临界区管理机制](https://blog.csdn.net/qb_2008/article/details/7201340)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [uCOS-III中的OS_CRITICAL_ENTER()和OS_CRITICAL_EXIT()使用](https://blog.csdn.net/u012351051/article/details/51273905)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]