用STM32CubeMx创建的FreeRTOS可以运行多少个实例

 我来答
llzzcc66
2018-07-05 · 知道合伙人数码行家
llzzcc66
知道合伙人数码行家
采纳数:81385 获赞数:171491
公司运维员工

向TA提问 私信TA
展开全部
我第一次使用STM32CubeMx,创建了一个简单的FreeRTOS代码。硬件平台是STM32F103RCT6。根据原代码,在freertos.c文件内的函数 MX_FREERTOS_Init(void)内,调用osThreadCreate创建线程,默认生成的StartDefaultTask线程。我按照StartDefaultTask的代码,在 MX_FREERTOS_Init(void)内用osThreadCreate创建另外两个线程,分别为LEDTask和MeasureTempTask。
当三个线程同时创建的话,OS跑不起来,连StartDefaultTask都没有执行。
如果,只创建其中任意的两个线程,OS就可以跑起来。
FreeRTOS本身可以执行多个线程,但STM32CubeMx好像是用CMSIS来重新封装FreeRTOS,是不是CMSIS限制了执行线程的数量?

另外,我测试过,如果在StartDefaultTask线程内,创建另外的两个线程,OS除了执行StartDefaultTask线程外,只执行另外创建的第一个线程。
通菌芋0331b
2015-08-01 · TA获得超过172个赞
知道小有建树答主
回答量:598
采纳率:0%
帮助的人:852万
展开全部
PERL5预定义了三个子程序,分别在特定的时间执行. 它们是: BEGIN子程序在程序启动时被调用; END子程序在程序结束时被调用; AUTOLOAD子程序在找不到某个子程序时被调用. 你可以自己定义它们,以在特定时间执行所需要的动作. 如: BEGIN { print("Hi!...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式