OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6779|回复: 2

时间片调度实验,串口调试开了时间戳以后,这结果着实把我整懵了!

[复制链接]

5

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
80
金钱
80
注册时间
2017-7-5
在线时间
23 小时
发表于 2021-1-29 14:42:01 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 STM1928 于 2021-1-29 14:52 编辑

STM32F103战舰教程例6-3 UCOSIII时间片轮转调度实验,没做任何修改,直接下载调试,我把串口调试助手的时间戳选项打开了。
asdasdas.png
出来的每一行后面的时间戳,我根本看不懂。我通过FreeRTOS理解是时间戳调度的意义在于限制相同优先级下的不同任务运行所用时间,一个任务如果时间片用完将立即切换至另一个同优先级的就绪任务,除非该任务主动放弃时间片。
工程设置的task1_task、task2_task的时间片都是10ms,可是我看了每一步输出的时间戳,分析了半天也没找到这些时间节点和10ms有什么关系,即根本没看出任务运行时间达到10ms导致被切换的情况出现,尤其匪夷所思的是task1和task2执行的是for循环,但是时间节点竟然会随机出现几ms的跳变,更不用提任务1输出信息被任务2抢先输出的情况了。
FreeRTOS时间片调度我看懂了,仿真结果基本符合我的分析预期。但是uCOS的时间片调度我完全看不懂。我不清楚相比于FreeRTOS,uCOS对时间片的支持是不是有点儿问题?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

22

主题

2251

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4471
金钱
4471
注册时间
2013-4-22
在线时间
335 小时
发表于 2021-1-29 18:38:43 | 显示全部楼层
不可能有问题的,除非你使用不当
回复

使用道具 举报

0

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
78
金钱
78
注册时间
2016-5-4
在线时间
19 小时
发表于 2021-5-6 10:42:28 | 显示全部楼层
帮顶!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 16:42

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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