STM32上运行UCOS建立的信号量为什么最多只有8个?

 我来答
wm0478
2016-10-07 · TA获得超过430个赞
知道小有建树答主
回答量:354
采纳率:97%
帮助的人:205万
展开全部
先看信号量创建函数的源代码
https://doc.micrium.com/display/osiidoc/Semaphore+Management
创建信号量成功与否可以直接从代码里看到
和信号量总数量相关的只有一处就是,从检查 OSEventFreeList表链来判断是否还有可用的资源。由于手头没有完整代码, OSEventFreeList这个表链是什么结构,其初始化代码位置就不确定了。但是可用肯定的是这个表链的初始化长度决定了最多可以分配多少个信号量。
你若需要更多信号量,就需要要修改 OSEventFreeList 初始化代码的相关参数。并且修改该参数后,有可能需要修改其他内存资源分配的部分(没有分析过源代码,所以不确定)。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式