STM32工作笔记0082---UCOSIII系统中的OSIntEnter() 与 OSIntExit()
发布日期:2021-06-29 17:37:28 浏览次数:2 分类:技术文章

本文共 545 字,大约阅读时间需要 1 分钟。

 技术交流QQ群【JAVA,C++,Python,.NET,BigData,AI】:170933152

在uC/OS-II中,通常在进入中断时需要使用OSIntEnter() ;退出中断前使用OSIntExit();

分析一下OSIntEnter() 的代码

void  OSIntEnter (void)

{
    if (OSRunning == OS_TRUE) {
        if (OSIntNesting < 255u) {
            OSIntNesting++;                      /* Increment ISR nesting level                        */
        }
    }
}</span>
这个函数的作用是对全局变量OSIntNesting增1,OSIntNesting为中断嵌套深度。
再看看OSIntExit()

void  OSIntExit (void)
{
#if OS_CRITICAL_METHOD == 3u                               /* Allocate storage for CPU status register */
    OS_CPU_SR  cpu_sr = 0u;
#endif
 
 
 
    if (OSRunning == OS_TRUE) {
        OS_ENTER_CRITICAL();
        if (OSIntNesting > 0u) {                           /* Pr

转载地址:https://credream.blog.csdn.net/article/details/108491197 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:STM32工作笔记0084---UCOSIII软件定时器
下一篇:STM32工作笔记0083---UCOSIII中断和时间管理

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年04月29日 21时05分19秒