原创 关于uC/OS-II内容的一点摘抄。

2010-2-23 00:31 1758 8 8 分类: MCU/ 嵌入式

在操作系统开始运行前使用下面的语句建立一个信号量。


    RandomSem = OSSemCreate(1);            /* 建立随机数信号量 */<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


这样,我们就建好了一个叫RandomSem的信号量,可以使用它对共享资源进行管理。假设有两个任务Task1Task2都需要产生随机数,则必须按照下面的格式进行代码编写。


任务一:


void  Task1(void *pdata)


{


    INT8U  x;


    INT8U err;


    for (;;)


    {


       OSSemPend(RandomSem, 0, &err);/*请求信号量*/


        x = random(80);                  /* 获取80以内的一个随机数*/


       OSSemPost(RandomSem);           /*释放信号量*/


       /* 其他代码 */


    }


}


任务二:


void  Task2(void *pdata)


{


    INT8U  x;


    INT8U err;


    for (;;)


    {


       OSSemPend(RandomSem, 0, &err);/*请求信号量*/


        x = random(20);                  /* 获取20以内的一个随机数*/


       OSSemPost(RandomSem);           /*释放信号量*/


       /* 其他代码 */


    }


}

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
8
关闭 站长推荐上一条 /3 下一条