发 帖  
原厂入驻New
ucos OSTCBCur中返回的event是什么含义?
40 函数
分享
老板给的程序,没有系统学过操作系统,就看了些视频,我知道OSTCBCur是当前任务的控制块,下面函数里event=OSTCBCur->OSEvent;   return(event);返回的event是什么含义?不同的event值用来执行不同的函数,那么event是表示任务中的事件标志吗?event的值怎么改变的呢?
TASK_EVENT        OSEventGet()
{
        TASK_EVENT        event;
        OS_ENTER_CRItiCAL();
        event=OSTCBCur->OSEvent;
        OSTCBCur->OSEvent=0;        
        OS_EXIT_CRITICAL();
        return(event);
}
void sParallelTask(void)
{
        while(1)
        {
                ParaEvent = OSEventGet();
                IF(ParaEvent & (1 << eParaCANSendMessage))//eParaCANSendMessage=1
                {
               
                }
               
                if(ParaEvent & (1 << eParallelCANParsing))// eParallelCANParsing=2
                {
                }
               
                if(ParaEvent & (1<<eParaTimer))  //eParaTimer=0
                {
                    
               
                }
        }
}
0
2019-9-20 03:00:29   评论 分享淘帖 邀请回答
2个回答
这个相当于一个事件机制,在有事情需要上报的时候就会去更改event的值,然后sParallelTask()这个认为就是负责查询看有没有上报的事件,再根据相应的值去处理相应的事情。
2019-9-20 09:27:52 评论

举报

只有小组成员才能发言,加入小组>>

140个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /10 下一条

快速回复 返回顶部 返回列表