OpenEdv-开源电子网

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

关于FreeRTOS任务执行循序的问题

[复制链接]

1

主题

4

帖子

0

精华

初级会员

Rank: 2

积分
138
金钱
138
注册时间
2020-4-23
在线时间
44 小时
发表于 2020-10-30 11:24:11 | 显示全部楼层 |阅读模式
1金钱
在开始任务里面创建两个任务:任务1,优先级为3;
                                             任务2,优先级为5,
初始化之后怎么首先执行的是任务1?而且任务1里面的vTaskPrioritySet ()没有执行;

图1

图1

图2

图2






最佳答案

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

没有看到你创建任务的地方.所以没法确定.所以只能凭已有的信息推测. 推测是因为你先创建的任务1, 任务1的优先级比创建任务1 的任务优先级高.所以任务1刚创建好,立马就抢占的创建任务1的任务的cpu使用权转而运行任务1. 这时候任务2还没有创建,自然一直运行任务1一直到任务1的延时函数为止.自然就打印了2条任务1的信息. 运行延时函数释放了cpu后,创建任务得到继续运行,这时候开始创建任务2,任务2创建后开始运行.开始打印任务2信 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

113

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2538
金钱
2538
注册时间
2019-10-18
在线时间
403 小时
发表于 2020-10-30 11:24:12 | 显示全部楼层
没有看到你创建任务的地方.所以没法确定.所以只能凭已有的信息推测.
推测是因为你先创建的任务1,
任务1的优先级比创建任务1 的任务优先级高.所以任务1刚创建好,立马就抢占的创建任务1的任务的cpu使用权转而运行任务1.
这时候任务2还没有创建,自然一直运行任务1一直到任务1的延时函数为止.自然就打印了2条任务1的信息.
运行延时函数释放了cpu后,创建任务得到继续运行,这时候开始创建任务2,任务2创建后开始运行.开始打印任务2信息
以后就自己分析吧
回复

使用道具 举报

5

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
97
金钱
97
注册时间
2014-7-29
在线时间
12 小时
发表于 2020-10-30 14:18:06 | 显示全部楼层
会不会是串口还没来得及显示
回复

使用道具 举报

1

主题

4

帖子

0

精华

初级会员

Rank: 2

积分
138
金钱
138
注册时间
2020-4-23
在线时间
44 小时
 楼主| 发表于 2020-10-30 18:32:15 | 显示全部楼层
decai 发表于 2020-10-30 18:10
没有看到你创建任务的地方.所以没法确定.所以只能凭已有的信息推测.
推测是因为你先创建的任务1,
任务1的 ...

就是这样的
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 17:34

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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