OpenEdv-开源电子网

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

关于任务优先级的问题

[复制链接]

5

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2018-7-19
在线时间
6 小时
发表于 2018-8-29 11:34:09 | 显示全部楼层 |阅读模式
1金钱
同优先级的任务可以通过时间片轮转调度来实现任务切换。在不同优先级的任务中,如果高优先级的任务没有延时,没有等待信号量等使用任务调度的内核对象的话,是否高优先级任务就会一直占用CPU而导致低优先级任务始终无法执行??另外如果延时函数使用最基本的delay_ms()是否也不能引起任务调度?

最佳答案

查看完整内容[请看2#楼]

如果高级任务不延时 低级任务无法获取时间片资源。另外delay_ms函数要看你的配置参数,有一个宏定义用于支持os,如果支持os的话,调用的是操作系统的延时函数,具体代码你进去看一下
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
81
金钱
81
注册时间
2018-5-28
在线时间
9 小时
发表于 2018-8-29 11:34:10 | 显示全部楼层
如果高级任务不延时  低级任务无法获取时间片资源。另外delay_ms函数要看你的配置参数,有一个宏定义用于支持os,如果支持os的话,调用的是操作系统的延时函数,具体代码你进去看一下
回复

使用道具 举报

57

主题

1680

帖子

3

精华

资深版主

Rank: 8Rank: 8

积分
4306
金钱
4306
注册时间
2018-6-30
在线时间
808 小时
发表于 2018-8-29 12:31:28 | 显示全部楼层
帮顶
回复

使用道具 举报

5

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2018-7-19
在线时间
6 小时
 楼主| 发表于 2018-8-29 16:54:58 | 显示全部楼层
valon 发表于 2018-8-29 16:20
如果高级任务不延时  低级任务无法获取时间片资源。另外delay_ms函数要看你的配置参数,有一个宏定义用于支 ...

好的谢谢 大佬 再问一下  默认时钟节拍是5ms,        OSSchedRoundRobinCfg(DEF_ENABLED,5,&err);这个函数用于设置一个时钟节拍的长度,也就是5x5=25ms,然后在创建任务时 (OS_TICK          )10,这是10个时间片。是不是一次时间轮转的时间就应该是250ms了??               
回复

使用道具 举报

6

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
81
金钱
81
注册时间
2018-5-28
在线时间
9 小时
发表于 2018-8-29 17:19:50 | 显示全部楼层
NameLonger 发表于 2018-8-29 16:54
好的谢谢 大佬 再问一下  默认时钟节拍是5ms,        OSSchedRoundRobinCfg(DEF_ENABLED,5,&err);这个函数用于设 ...

这个不太清楚了额。。用的系统不一样
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-2 08:22

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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