OpenEdv-开源电子网

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

ucos 信号量

[复制链接]

54

主题

105

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
341
金钱
341
注册时间
2014-10-30
在线时间
0 小时
发表于 2015-1-31 23:45:45 | 显示全部楼层 |阅读模式
5金钱
如果想要访问共享资源,首先创建信号量
OSSemCreate ((OS_SEM* )&ADC_SEM, 
              (CPU_CHAR* )"ADC_SEM", 
              (OS_SEM_CTR )1, 
              (OS_ERR* )&err);


然后在一个任务中等待信号量:
OSSemPend(&ADC_SEM,0,OS_OPT_PEND_BLOCKING,0,&err);     

最后在中断中释放信号量:
OSSemPost (&ADC_SEM,OS_OPT_POST_1,&err); }                  

实现以上3个步骤,就能完成共享资源这件事情吗?

最佳答案

查看完整内容[请看2#楼]

这就是个信号量的使用哦. 基本方法就是你说的,一个任务发送,另外一个任务等待
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165225
金钱
165225
注册时间
2010-12-1
在线时间
2107 小时
发表于 2015-1-31 23:45:46 | 显示全部楼层
这就是个信号量的使用哦.
基本方法就是你说的,一个任务发送,另外一个任务等待
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

3

主题

154

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
434
金钱
434
注册时间
2013-3-18
在线时间
82 小时
发表于 2015-1-31 23:45:46 | 显示全部楼层
在使用的资源有冲突的时候,使用互斥信号量,比如两个功能共用一个SPI接口
回复

使用道具 举报

54

主题

105

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
341
金钱
341
注册时间
2014-10-30
在线时间
0 小时
 楼主| 发表于 2015-2-1 13:55:29 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
原子哥,互斥信号量是什么时候使用的?  要和信号量搭配使用吗?
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2015-2-2 10:53:21 | 显示全部楼层
信号量一般用于资源管理和任务同步,在使用一般的信号量的时候可能会产生优先级反转的问题。互斥信号量就是为了防止产生优先级反转而生的。
开往春天的手扶拖拉机
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-1 12:32

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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