OpenEdv-开源电子网

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

FREERTOS 任务不正常切换问题

[复制链接]

2

主题

4

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2022-3-24
在线时间
5 小时
发表于 2022-3-24 20:51:25 | 显示全部楼层 |阅读模式
1金钱
利用STM32CUBEMX新建几个任务,其中一个任务优先级最高,其他几个任务优先级低且相同,在线仿真运行时发现,加了osDelay();延时函数的情况下,高优先级任务依然运行,几次之后才切换其他任务,求助原因,谢谢个位大佬

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

使用道具 举报

2

主题

48

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
372
金钱
372
注册时间
2018-9-14
在线时间
51 小时
发表于 2022-3-25 16:58:17 | 显示全部楼层
会不会因为高优先级任务里设置的osDelay();延时太短,导致任务切换到低优先级任务运行但未跑完,此时高优先级任务延时时间到,打断低优先级任务,抢占cpu?
回复

使用道具 举报

2

主题

4

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2022-3-24
在线时间
5 小时
 楼主| 发表于 2022-3-25 23:25:07 来自手机 | 显示全部楼层
有可能,是这样的,我发现当高优先级里的osDelay设置为为1时,几乎无法切换,当设置为2时,执行了了23次后切换,设置为4时,执行19次后切换,设置8时,执行15次,切换
回复

使用道具 举报

2

主题

4

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2022-3-24
在线时间
5 小时
 楼主| 发表于 2022-3-25 23:26:29 来自手机 | 显示全部楼层
但问题是,为什么只是在开始的时候会多次运行后切换,一但切换成功,后面就变得正常了(运行一次后,进入等待模式,任务切换)
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
5
金钱
5
注册时间
2022-4-23
在线时间
1 小时
发表于 2022-4-23 22:04:27 来自手机 | 显示全部楼层
这问题奇怪
回复

使用道具 举报

2

主题

5

帖子

0

精华

新手上路

积分
23
金钱
23
注册时间
2022-4-10
在线时间
3 小时
发表于 2022-5-2 22:42:12 来自手机 | 显示全部楼层
问题不太明白最好给代码看看,还有建议用vTaskDelay(),
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 18:01

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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