完善资料让更多小伙伴认识你,还能领取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之类的操作,至于信号量是来做任务同步还是资源保护真的看不出来,看来你只能去请教你们公司写这个代码的人了,话说你们公司搞开发代码都不加注释的吗?!
|
|
|
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
1018 浏览 1 评论
1849 浏览 0 评论
1830 浏览 1 评论
3254 浏览 5 评论
3581 浏览 9 评论
1021浏览 1评论
1850浏览 1评论
如何知道嵌入式电子控制单元 (ECU) 中的RAM使用情况?
1360浏览 1评论
1852浏览 0评论
1178浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 23:56 , Processed in 0.677487 second(s), Total 76, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2863