日志档案

发表于 2007-4-22 20:59:25

0

标签: uCOSII  操作系统  

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

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

    RandomSem = OSSemCreate(1);            /* 建立随机数信号量 */

这样,我们就建好了一个叫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);           /*释放信号量*/

       /* 其他代码 */

    }

}

系统分类: 嵌入式   |   用户分类: VC++   |   来源: 原创   |   【推荐给朋友】   |   【添加到收藏夹】

    阅读(825)    回复(0)  

投一票您将和博主都有获奖机会!