完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
本人使用OSFlagPend函数等待一个事件标志组中的两个标志全部清零,按照以下写法出现了问题。当运行到该函数时,标志组的值为0x0002,而判断的标志为HOLD_DEC | HOLD_NORMAL = 0x0006,理论上是会被挂起的,然而并没有,直接运行通过了。
[AppleScript] 纯文本查看 复制代码 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); 按照如下写法就挂起了,可以看出,是将两个标志拆开等待的。 [AppleScript] 纯文本查看 复制代码 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); 另外说明一点,OS_CFG_FLAG_MODE_CLR_EN已经设置为1了。 希望各路兄弟能帮忙分析一下原因,欢迎指出代码问题 谢谢! |
|
相关推荐
1个回答
|
|
|
试检查OS_ERR返回值。
|
|
|
|
|
只有小组成员才能发言,加入小组>>
1018 浏览 1 评论
1849 浏览 0 评论
1830 浏览 1 评论
3254 浏览 5 评论
3581 浏览 9 评论
1020浏览 1评论
1849浏览 1评论
如何知道嵌入式电子控制单元 (ECU) 中的RAM使用情况?
1359浏览 1评论
1851浏览 0评论
1176浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 18:41 , Processed in 0.685274 second(s), Total 74, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1819