你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32 如何快速创建 FREERTOS和RTX 工程  

[复制链接]
lovewyufeng 发布时间:2015-1-8 12:08
阅读主题, 点击返回1楼
收藏 14 评论96 发布时间:2015-1-8 12:08
96个回答
万里-363223 回答时间:2015-1-21 12:30:16
必须支持!
lovewyufeng 回答时间:2015-1-23 00:48:46
我是东哥 发表于 2015-1-21 12:18
这个其实也没有不合理,看你怎么理解,资源一开始为0,也可以理解为空闲池一开始是满的。生产者生产了一 ...

反过来理解是吧,说得通。可是
有个问题。,生产一个就-1的话应该 take获取信号咯?   反过来消费应该post 释放信号咯? 那么问题是 post是非阻塞立即返回的而take是阻塞的?
先不谈消费者应当随时饥饿,处于阻塞态。
生产一般在中断里吧,当take-到0的时候 阻塞线程阻塞谁呢
我是东哥 回答时间:2015-1-23 07:50:34
lovewyufeng 发表于 2015-1-23 00:48
反过来理解是吧,说得通。可是
有个问题。,生产一个就-1的话应该 take获取信号咯?   反过来消费应该pos ...

你陷在细节里面了,看看人家的API是怎么样写的,osSemaphoreRelease和osSemaphoreWait,我们在生产者里面应该要osSemaphoreRelease,而在消费者里面osSemaphoreWait,是吧?字面理解,相当于生产的人释放了一个东西,然后消费者就等待生产者的这个东西。再看里面的实现,osSemaphoreRelease里面是xSemaphoreGive而不是take,而osSemaphoreWait里面是xSemaphoreTake而不是give。
所谓的反过来理解只是一种理解方法,说take和post的逻辑也反的话是不对的。不要老想着什么时候去post,什么去take。cmsis_os的API意思很明了,生产者生产了东西就应该release,消费者就应该Wait,这不是很好理解吗?
lovewyufeng 回答时间:2015-1-23 09:52:25
我是东哥 发表于 2015-1-23 07:50
你陷在细节里面了,看看人家的API是怎么样写的,osSemaphoreRelease和osSemaphoreWait,我们在生产者里面 ...

好吧 那么我就简单的问 一句  我初始化一个  100的sem 按照 API  初始值 是100

那么在生产者还没生产任何数据的时候 请问  消费者  需要数据应该调用哪个API  

wait 还是 release

我是东哥 回答时间:2015-1-23 12:31:46
lovewyufeng 发表于 2015-1-23 09:52
好吧 那么我就简单的问 一句  我初始化一个  100的sem 按照 API  初始值 是100

那么在生产者还没生产任 ...

消费者wait,生产者release。这有什么问题吗?这个100只是内部的一个计数,是不是能够wait到,是看是否能够release成功,也就是说你不release,是肯定不能wait到的。
stary666 回答时间:2015-1-23 12:40:10
lovewyufeng 回答时间:2015-1-23 12:55:18
我是东哥 发表于 2015-1-23 12:31
消费者wait,生产者release。这有什么问题吗?这个100只是内部的一个计数,是不是能够wait到,是看是否能 ...

你没试 过吧  初始化为100的sem  不release 也可以被wait 100次

不相信 你试试看
lovewyufeng 回答时间:2015-1-23 12:56:23
我是东哥 发表于 2015-1-23 12:31
消费者wait,生产者release。这有什么问题吗?这个100只是内部的一个计数,是不是能够wait到,是看是否能 ...

事实上  只要这个计数不为0 都能被 wait 到
stary666 回答时间:2015-1-23 13:31:29
:)
stary666 回答时间:2015-1-23 13:32:23

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

相似分享

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版