OpenEdv-开源电子网

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

UCOS III 事件标志组Pend函数不能正常执行

[复制链接]

5

主题

14

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2013-5-29
在线时间
15 小时
发表于 2016-7-25 21:18:46 | 显示全部楼层 |阅读模式
20金钱
本人使用OSFlagPend函数等待一个事件标志组中的两个标志全部清零,按照以下写法出现了问题。当运行到该函数时,标志组的值为0x0002,而判断的标志为HOLD_DEC | HOLD_NORMAL = 0x0006,理论上是会被挂起的,然而并没有,直接运行通过了。
[mw_shl_code=applescript,true]                        OSFlagPend((OS_FLAG_GRP*)&sys.hold_state,
                                           (OS_FLAGS        )HOLD_DEC | HOLD_NORMAL,
                                           (OS_TICK             )0,
                                           (OS_OPT        )OS_OPT_PEND_FLAG_CLR_ALL |
                                                                 OS_OPT_PEND_BLOCKING,
                                           (CPU_TS*             )0,
                                           (OS_ERR*        )&err);[/mw_shl_code]
按照如下写法就挂起了,可以看出,是将两个标志拆开等待的。
[mw_shl_code=applescript,true]                        OSFlagPend((OS_FLAG_GRP*)&sys.hold_state,
                                           (OS_FLAGS        )HOLD_DEC,
                                           (OS_TICK     )0,
                                           (OS_OPT            )OS_OPT_PEND_FLAG_CLR_ALL |
                                                                         OS_OPT_PEND_BLOCKING,
                                           (CPU_TS*     )0,
                                           (OS_ERR*            )&err);
                        
                        OSFlagPend((OS_FLAG_GRP*)&sys.hold_state,
                                           (OS_FLAGS        )HOLD_NORMAL,
                                           (OS_TICK     )0,
                                           (OS_OPT            )OS_OPT_PEND_FLAG_CLR_ALL |
                                                                         OS_OPT_PEND_BLOCKING,
                                           (CPU_TS*     )0,
                                           (OS_ERR*            )&err);[/mw_shl_code]
另外说明一点,OS_CFG_FLAG_MODE_CLR_EN已经设置为1了。
希望各路兄弟能帮忙分析一下原因,欢迎指出代码问题

谢谢!

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

使用道具 举报

18

主题

422

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1139
金钱
1139
注册时间
2014-5-24
在线时间
116 小时
发表于 2016-7-26 11:26:40 | 显示全部楼层
I See Fire.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.  只给方向,不妨碍思考
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-23 22:22

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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