OpenEdv-开源电子网

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

OSSemCreat()求助,UCOSIII!!!谢谢

[复制链接]

60

主题

204

帖子

0

精华

高级会员

Rank: 4

积分
503
金钱
503
注册时间
2014-2-28
在线时间
7 小时
发表于 2015-8-16 16:42:59 | 显示全部楼层 |阅读模式
5金钱
最近在看公司的代码,有个地方不明白(其实,我不怎么懂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的坛友赐教,谢谢了!

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

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2015-8-16 17:37:34 | 显示全部楼层
就你给的这点信息来看,如果信号量创建成功以后就将创建好的信号量赋给get.ok,然后在task_2任务中判断信号量是否创建成功,如果信号量创建成功以后就做其他处理,没有看到Post和Pend之类的操作,至于信号量是来做任务同步还是资源保护真的看不出来,看来你只能去请教你们公司写这个代码的人了,话说你们公司搞开发代码都不加注释的吗?!
开往春天的手扶拖拉机
回复

使用道具 举报

60

主题

204

帖子

0

精华

高级会员

Rank: 4

积分
503
金钱
503
注册时间
2014-2-28
在线时间
7 小时
 楼主| 发表于 2015-8-16 21:12:40 | 显示全部楼层
回复【2楼】zuozhongkai:
---------------------------------
版主,我已经在source insight查找多遍了,没有对这个信号量的post和end之类的。
项目经理的代码从不加注释。。。。也禁止我加
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-1 16:19

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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