发 帖  
原厂入驻New
请问下STM32cubex生成的freertos有时间片轮询的原因?
106 LED
分享
请问下 cube生成的freertos的工程中,我模仿写了几个任务创建,发现跟原来不一样,发现任务优先级没有配置,难道是默认时间片轮询,我查看了freertosconfig。h发现没有时间片轮询,这是什么原因呢,后来建好工程发现也只会执行一个线程,不是很懂,难道要在任务中改变优先级吗,有哪位大神有cubex生成的freertos的程序或者会使用的,给我讲解下,谢谢。
这是模仿的创建过程,就没发现,优先级有什么不同。
  osThreadDef(LED1, LED1Task, osPriorityNormal, 0, 128);
  LED1Handle = osThreadCreate(osThread(LED1), NULL);
  /* definition and creation of LED2 */
  osThreadDef(LED2, LED2Task, osPriorityNormal, 0, 128);
  LED2Handle = osThreadCreate(osThread(LED2), NULL);
  osThreadDef(Key, KeyTask, osPriorityNormal, 0, 128);
  KeyHandle = osThreadCreate(osThread(Key), NULL);
0
2020-7-26 08:00:53   评论 分享淘帖 邀请回答
12个回答
我是在cube里把线程和优先级创建好,直接生成,然后填空
2020-7-26 07:41:41 评论

举报

看不见你的任务,是不是没有进入阻塞,直接把别的任务饿死了
2020-7-26 08:14:18 评论

举报

不是啊 我就是不懂为啥没有优先级设置样 或者说设置成一样 但是不是时间片轮询也能执行。
2020-7-26 08:32:21 评论

举报

恩 我也是这样 至少不懂为什么 没有优先级设置 不是至少可以设置32级吗
2020-7-26 08:58:59 评论

举报

我就是看看 这是什么原理呢 是不是cmsis封装好了 自己判断优先
2020-7-26 09:05:28 评论

举报

http://www.stmcu.org/module/foru ... ;highlight=freertos
2020-7-26 09:15:43 评论

举报

你发的图片第二项就是优先级设置啊,你自己设的是高优先级
2020-7-26 09:33:18 评论

举报

看错了,图不是你发的
2020-7-26 09:53:08 评论

举报

不是 难道只有7个优先级吗
2020-7-26 10:11:01 评论

举报

难道要自己调用创建函数生成 才可以自己设置优先级
2020-7-26 10:16:25 评论

举报

超过7级当然要自己动手设置了,一般7级也就够了吧
2020-7-26 10:33:13 评论

举报

只有小组成员才能发言,加入小组>>

292个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /8 下一条

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