uCOS-II下有全局变量的功能函数吗

2019-07-20 23:05发布

本帖最后由 天山狐狸 于 2016-4-1 13:10 编辑

如题,我要实现如下的功能在ucos ii中怎么做呢?

在任务1中把变量flag置1,任务2、3、4只判断flag是否为1,为1执行操作,不为1执行其他操作。

flag只在任务1中清零,置位。
问题:不使用全局变量的话这个问题怎么解决呢?

谢谢

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
正点原子
1楼-- · 2019-07-20 23:46
 精彩回答 2  元偷偷看……
天山狐狸
2楼-- · 2019-07-21 00:35
 精彩回答 2  元偷偷看……
天山狐狸
3楼-- · 2019-07-21 05:38
消息邮箱或队列,读一次数据就没有了,,,flag变量只要置位后很久或不会再次被置位,用pend消息方式的话,数据读一次后没了,下一次就无法继续执行了。
天山狐狸
4楼-- · 2019-07-21 07:48
本帖最后由 天山狐狸 于 2016-4-2 16:09 编辑
正点原子 发表于 2016-4-1 12:01
信号量可以解决。

信号量pend一次,cnt就减一,下一次不就不满足条件了,况且flag变量不是每次进任务1都post的啊。。。
所以信号量、邮箱、队列、信号量集都无法满足我的要求
天山狐狸
5楼-- · 2019-07-21 13:24
正点原子 发表于 2016-4-1 12:01
信号量可以解决。

有时flag置位后,无特殊情况,无清零操作,所以置位操作也永远无法执行。。。

所以用pendxx是不行的
天山狐狸
6楼-- · 2019-07-21 17:40
 精彩回答 2  元偷偷看……

一周热门 更多>