OpenEdv-开源电子网

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

关于UCOSIII统计任务问题?

[复制链接]

3

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2017-6-23
在线时间
32 小时
发表于 2017-9-7 15:09:32 | 显示全部楼层 |阅读模式
35金钱
本帖最后由 Newbies 于 2017-9-7 16:28 编辑

如题,关于UCOSIII统计任务计算CPU使用率问题,在统计任务的钩子函数中将OSStatTaskCPUUsage发到串口上显示,可是发现不屏蔽下图程序中的程序为1668,利用率应该是16.68%,当屏蔽后CPU使用率为1525(15.25%),此处有个疑惑,程序中才点亮几个LED灯切换,不至于使用率这么大吧?   望各位大神帮忙解答!谢谢了!   另还有个困惑,若开启时间片轮转,当前的任务必须在这个是时间片内完成是么? 比如还是下面的程序,在任务最后delay延时500MS后加上个循环打印三次输出,然后\n,发现数据顺序是乱的,时间片长度为1(5ms),每个任务为4个时间片,即使加长时间片也是乱的。望各位帮忙解答,不胜感激!!!

任务程序

任务程序

最佳答案

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

1、你的延时函数是不是通过系统的延时函数实现的?如果不是的话是不会进行调度,根据你的情况应该可以排除不是这个问题引起的。 2、统计任务是否位于系统启动后的第一个任务或者说没有比统计任务更高级的任务在运行?统计任务在启动的时候会计算出一个只有统计任务运行时候的值a,这个值将会被作为后期统计任务运行的一个基数,统计任务运行的时候会有一个b值,这个值是在统计任务内自加的,计算使用率的时候就是通过b值和a值的比 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
179
金钱
179
注册时间
2015-1-24
在线时间
21 小时
发表于 2017-9-7 15:09:33 | 显示全部楼层
1、你的延时函数是不是通过系统的延时函数实现的?如果不是的话是不会进行调度,根据你的情况应该可以排除不是这个问题引起的。
2、统计任务是否位于系统启动后的第一个任务或者说没有比统计任务更高级的任务在运行?统计任务在启动的时候会计算出一个只有统计任务运行时候的值a,这个值将会被作为后期统计任务运行的一个基数,统计任务运行的时候会有一个b值,这个值是在统计任务内自加的,计算使用率的时候就是通过b值和a值的比较的结果。如果统计任务在计算a值的时候被干扰了,那么统计任务统计出来的使用率就是不准的。
回复

使用道具 举报

3

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2017-6-23
在线时间
32 小时
 楼主| 发表于 2017-9-8 10:22:11 | 显示全部楼层
后一个问题已经找到,是因为每次的延时中都会有任务调度,任务走的很乱,规整一下程序,最后放一个延时就好了,但是发现时间片不是“OSSchedRoundRobinCfg (DEF_ENABLED,2,&err);”参数2(节拍)*任务初始化中的个数,跟这个参数没有关系么?通过实验发现,当数据乱了之后,调整任务初始化中参数可以解决,而改变时间片轮转配置函数的参数并不能够解决乱码的问题??哈哈哈,语言组织能力不强,顶一个!!前辈快快出现!
回复

使用道具 举报

3

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2017-6-23
在线时间
32 小时
 楼主| 发表于 2017-9-11 15:31:47 | 显示全部楼层
lss1330 发表于 2017-9-8 17:21
1、你的延时函数是不是通过系统的延时函数实现的?如果不是的话是不会进行调度,根据你的情况应该可以排除 ...

您好:可以排除延时函数的影响,关于您说的2条,统计任务的优先级是最大优先级减2,应该是倒数第二位,最后一位是空闲任务,其他两个LED灯的任务为是可以执行到的且可以正常切换的。您说的启动的时候计算一个只有统计任务的A值,是在OSStatTaskCPUUsageInit调用的这个函数么?这个是在创建第一个任务之前初始化的。
回复

使用道具 举报

3

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
179
金钱
179
注册时间
2015-1-24
在线时间
21 小时
发表于 2017-9-11 21:54:34 | 显示全部楼层
Newbies 发表于 2017-9-11 15:31
您好:可以排除延时函数的影响,关于您说的2条,统计任务的优先级是最大优先级减2,应该是倒数第二位,最 ...

我说的不是太好,你先看看这个网址http://blog.sina.com.cn/s/blog_68dd6c770100t2la.html,看能不能解决,到时候可以讨论讨论
回复

使用道具 举报

3

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2017-6-23
在线时间
32 小时
 楼主| 发表于 2017-9-13 09:33:59 | 显示全部楼层
lss1330 发表于 2017-9-11 21:54
我说的不是太好,你先看看这个网址http://blog.sina.com.cn/s/blog_68dd6c770100t2la.html,看能不能解决 ...

嗯嗯 好的 谢谢您,我先再把手册仔细看一遍,可能会漏掉什么,再次感谢!!!
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-2 04:31

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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