雨滴科技技术论坛

 找回密码
 立即注册
查看: 1277|回复: 10

msPLC屏幕刷新延迟问题

  [复制链接]

17

主题

52

帖子

426

积分

中级会员

Rank: 3Rank: 3

积分
426
扫一扫,手机访问本帖
发表于 2018-12-1 18:08:22 | 显示全部楼层 |阅读模式
  最近在测试新版本的msPLC板子,页面切换时,正常情况下人眼应该是看到一整页切换,实际上却是一行一行的刷新。加大页面刷新时间间隔,情况似乎好一点,但是问题依旧不能解决,减小页面刷新时间间隔,后果是连页面都刷新不出来。Lcd用的是王总的代码,他的没出现这种情况,那么应该是我改动了msOS的某个地方,导致出现了这个问题。  一步步排查,发现是ADC引起。起因是最近有个温控项目,我用新板子测试时,还没开始测温,界面上的温度总是在跳动,4个通道全部是一样的情况。为了解决温度跳动问题,我在ADC的节拍里面进行滤波,并且是4个通道都进行了滤波,滤波本质是用时间换取空间,再加上涉及float运算,很影响速度,导致了界面刷新出现上诉情况。将4个通道滤波换成1个通道滤波,每次只进行一个通道的滤波,不会有什么影响。
  目前只用到1个通道进行采样,若用到多通道采样和滤波时,需要将浮点型放大成整形进行运算,最后再缩小,不然依旧会出现上述问题。或者是降低ADC的节拍,现在采用的是10000/s的节拍,并且滤波可在系统节拍进行。



  

回复

使用道具 举报

401

主题

2034

帖子

1万

积分

版主

Rank: 7Rank: 7Rank: 7

积分
10407
发表于 2018-12-2 11:08:40 | 显示全部楼层
后面可以考虑弄一个整数处理的浮点数方法,做成函数或者库文件。
回复 支持 反对

使用道具 举报

139

主题

701

帖子

2140

积分

金牌会员

Rank: 6Rank: 6

积分
2140
发表于 2018-12-2 13:57:52 | 显示全部楼层
原来如此
回复

使用道具 举报

17

主题

52

帖子

426

积分

中级会员

Rank: 3Rank: 3

积分
426
 楼主| 发表于 2018-12-2 20:43:46 | 显示全部楼层
凤舞天 发表于 2018-12-2 11:08
后面可以考虑弄一个整数处理的浮点数方法,做成函数或者库文件。

好的!!
回复 支持 反对

使用道具 举报

91

主题

456

帖子

2111

积分

金牌会员

Rank: 6Rank: 6

积分
2111
发表于 2018-12-2 22:07:19 | 显示全部楼层
Good Job!        
回复 支持 反对

使用道具 举报

68

主题

274

帖子

2114

积分

金牌会员

Rank: 6Rank: 6

积分
2114
发表于 2018-12-2 23:06:09 | 显示全部楼层
小伙子可以啊            
回复 支持 反对

使用道具 举报

199

主题

1090

帖子

4522

积分

版主

Rank: 7Rank: 7Rank: 7

积分
4522
发表于 2018-12-2 23:12:02 | 显示全部楼层
意思是在系统节拍里面滤波过深再加上float运算造成的?
慧目图像识别系统,机器视觉、图像识别专家
高性价比的机器视觉,强大的研发团队,专业的服务队伍!
电话:18926409770 微信/QQ:317698527
回复 支持 反对

使用道具 举报

17

主题

52

帖子

426

积分

中级会员

Rank: 3Rank: 3

积分
426
 楼主| 发表于 2018-12-4 17:35:27 | 显示全部楼层
JackWu 发表于 2018-12-2 23:12
意思是在系统节拍里面滤波过深再加上float运算造成的?

是在Adc10000/S的节拍里 :AdcSystick10000Routine
回复 支持 反对

使用道具 举报

3

主题

15

帖子

102

积分

注册会员

Rank: 2

积分
102
发表于 2020-11-24 21:14:53 | 显示全部楼层
在Systick10000Routine做滤波,100US能做完整个滤波功能么?不会导致定时器中断执行过长,然后直接到了下一个定时周期的到来,那定时的时间就乱了!
回复 支持 反对

使用道具 举报

499

主题

1948

帖子

7957

积分

论坛元老

Rank: 8Rank: 8

积分
7957
发表于 2020-11-27 13:25:24 | 显示全部楼层
晴天严寒 发表于 2020-11-24 21:14
在Systick10000Routine做滤波,100US能做完整个滤波功能么?不会导致定时器中断执行过长,然后直接到了下一 ...

考虑的是对的。
对于单纯整型的运算还好,浮点型的会很不一样。被浮点坑过的印象都深刻。
回复 支持 反对

使用道具 举报

3

主题

15

帖子

102

积分

注册会员

Rank: 2

积分
102
发表于 2020-11-27 15:11:58 | 显示全部楼层
max 发表于 2020-11-27 13:25
考虑的是对的。
对于单纯整型的运算还好,浮点型的会很不一样。被浮点坑过的印象都深刻。 ...

还有就是性能,毕竟MSOS把单片机的时间片分为100US,如果定时器中断用了50US的时间来处理,那留给任务逻辑和菜单界面的时间就只有50US了,这样就是定时器占用了50%的CPU使用率,剩下的50%才是给逻辑和菜单的,而逻辑又是高优先级处理事务,所以菜单就会卡卡的,因为菜单任务只能使用最后那一点点使用率!
回复 支持 反对

使用道具 举报

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

本版积分规则

在线客服
在线咨询
咨询热线
0755-26787502-8006/8016
扫一扫二维码
直接访问本站

QQ|Archiver|手机版|小黑屋|雨滴科技  

GMT+8, 2021-1-22 23:31 , Processed in 0.062067 second(s), 10 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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