OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3366|回复: 2

请教关于UCOS的...Pend的运用

[复制链接]

7

主题

16

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2017-3-16
在线时间
8 小时
发表于 2017-7-26 12:01:35 | 显示全部楼层 |阅读模式
8金钱
往往很多时候,在使用OSTaskSemPend,  ...FlagPend的时候,,就拿OSFlagPend来说吧。很多时候,条件成立时,我并不需要它去执行完整个任务,我只希望它往下执行完一段,执行完花括号{}里面的程序,请问有没有办法做到呢?


还有,如果
while(1)
{
...
...Pend()
...
}
...Pend()不是在while下面的第一句的时候,请求到的时候,它是执行完整个任务 Or 还是执行完...Pend()之后的部分呢?

uCOS新手,再次请教各位前辈~! 谢了!

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165287
金钱
165287
注册时间
2010-12-1
在线时间
2107 小时
发表于 2017-7-27 01:21:10 | 显示全部楼层
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2017-7-27
在线时间
5 小时
发表于 2017-7-27 16:38:42 | 显示全部楼层
对于UCOS来说,信号量的请求在请求了之后信号量的值都会改变,但是他的事件标志有一个opt可以选择OS_OPT_PEND_FLAG_CONSUME,这个选项加上可以使事件标志重置。你在每次while循环里面请求,他每得到一个信号量或者等待到了事件标志,就执行一次,也就是从......pend()后一句再次执行到.....pend()。我也是新手,不对的地方多做交流。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-2 02:25

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表