打印
[STM32F1]

周航慈UCOSII书中的问题

[复制链接]
582|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Cjy_JDxy|  楼主 | 2017-9-16 15:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我买了周航慈的基于嵌入式实时操作系统的程序设计技术,看到第90页:逻辑或的同步控制。书上是一个蜂鸣器任务,一个按键任务,一个串口显示任务。
蜂鸣器鸣叫一声,向标志组发送一次信号;按键每按一次,向标志组发送一次信号;显示任务
获取任何一个标志后更新一次数据,同时清除标志组内容,以便开始下一轮的同步过程。
也就是说,蜂鸣器叫一声,串口打印出一组数据;按键每按一次,串口打印出一组数据。
串口打印数据的次数是蜂鸣器鸣叫次数和按键按得次数之和。
可是我测试结果,跟86页的实验逻辑与的同步控制一样。
也就是按键按一次,同时蜂鸣器鸣叫一次,串口才打印一组数据。
(我开发板没有蜂鸣器,我拿LED灯代替)

我看了一下程序,逻辑与实验有一句:

OSFlagPend(FLAGW,0X03,OS_FLAG_WAIT_SET_ALL+OS_FLAG_CONSUME,0,&err);
逻辑或实验有一句:
OSFlagPend(FLAGW,0X03,OS_FLAG_WAIT_SET_ANY+OS_FLAG_CONSUME,0,&err);

就ANY和ALL的不同,可是实验结果一样。
我感到很疑惑。周航慈老师的书很有名气,不应该出错。
到底我哪儿弄错了呢?
我把程序打包传上来,高手给看看,哪里有问题,谢谢! ALIENTEK MINISTM32 实验35 UCOSII实验1-任务调度.rar (4.21 MB)



发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:绿水本无忧因风皱面,青山原不老为雪白头。

553

主题

3530

帖子

19

粉丝