返回> 网站首页 

ucos2循环等待超时方法

yoours2021-01-28 11:49:09 阅读 2089

简介一边听听音乐,一边写写文章。

1. 定义信号量变量

   OS_EVENT *SemSignal;

2. 创建信号量

    SemSignal = OSSemCreate(1);

3. 发送信号量 - 在符合需求的地方调用

    OSSemPost(SemSignal);


4. 循环等待超时

    // 计算等待时间

    DWORD ticks = OS_TICKS_PER_SEC * (dwTimeout + 500uL / OS_TICKS_PER_SEC) / 1000uL;

   // 循环等待超时

do{

       // to do something


        OSSemPend(SemSignal, ticks, &err);

    }while(err!=OS_ERR_TIMEOUT);


微信小程序扫码登陆

文章评论

2089人参与,0条评论