完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
最近在看公司的代码,有个地方不明白(其实,我不怎么懂ucos ,正在熟悉过程中)
我看了一下,此信号量调用的地方,感觉有些摸不到头绪, 首先定义信号量, OS_SEM xxx; 然后,创建 OSSemCreate (&xxx, "XXX ok", 0 , &err); 接着在某个任务中,有如下调用: void task(void) { ......... .......... pro(&xxx); ............ } //////////////////////////////////////////////////// void pro(OS_SEM *point) { ......... .......... get.ok = point; ............ } void task_2(void) { ......... ........... if(get.ok != NULL) { ......... } ........... .......... } 我的疑问是,这样使用信号量属于什么方式呢?任务同步?资源同步?信号量的值被初始化为0之后,程序代码中没有post,百思不得解。。。 这样使用信号量有什么意义么??? 求懂得ucos的坛友赐教,谢谢了! |
|
相关推荐
2个回答
|
|
就你给的这点信息来看,如果信号量创建成功以后就将创建好的信号量赋给get.ok,然后在task_2任务中判断信号量是否创建成功,如果信号量创建成功以后就做其他处理,没有看到Post和Pend之类的操作,至于信号量是来做任务同步还是资源保护真的看不出来,看来你只能去请教你们公司写这个代码的人了,话说你们公司搞开发代码都不加注释的吗?!
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
682 浏览 0 评论
1099 浏览 1 评论
2464 浏览 5 评论
2798 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2636 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
645浏览 9评论
641浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
772浏览 6评论
618浏览 5评论
660浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-18 10:24 , Processed in 1.070982 second(s), Total 81, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号