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

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扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版