硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2328|回复: 7
收起左侧

[emWin] 关于STemwin定时器最小周期有限制吗?

[复制链接]

15

主题

53

回帖

98

积分

初级会员

积分
98
发表于 2018-12-10 11:46:16 | 显示全部楼层 |阅读模式

我使用STemwin的定时器,创建一个20周期的定时器后,再定时器回调中再使用Restarttimer( ,20).然后使用函数WM_InvalidWindow().进行窗口重绘,为什么每次再次进入定时器回调的进程时,通过OS_timeMS查看时间都不只20ms,我屏幕刷新40ms周期。    是不是定时器不能使用太小的周期?   我在主程序While(1)中就只调用了Gui_Delay(20);
回复

使用道具 举报

15

主题

53

回帖

98

积分

初级会员

积分
98
 楼主| 发表于 2018-12-10 11:46:49 | 显示全部楼层
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115778
QQ
发表于 2018-12-10 12:15:20 | 显示全部楼层
不做无效化WM_InvalidWindow()是不是就正常了,如果正常了,说明你的刷新1次时间太长了。

回复

使用道具 举报

15

主题

53

回帖

98

积分

初级会员

积分
98
 楼主| 发表于 2018-12-10 12:59:59 | 显示全部楼层
是的,所以我去看了下刷新速度。  但是也只有43ms。  重绘消息中已经没有代码了。
回复

使用道具 举报

15

主题

53

回帖

98

积分

初级会员

积分
98
 楼主| 发表于 2018-12-10 13:03:25 | 显示全部楼层
eric2013 发表于 2018-12-10 12:15
不做无效化WM_InvalidWindow()是不是就正常了,如果正常了,说明你的刷新1次时间太长了。

我不用图形库函数刷新页面,直接通过数据口写lcd数据显示,算出来时间是43ms。  那75-43=32ms是哪里占用了?  硬汉有想法么?
回复

使用道具 举报

354

主题

2164

回帖

3231

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3231
发表于 2018-12-10 15:57:32 | 显示全部楼层
emwin的计时周期是用的systic,常用是1ms的间隔。 你这个20ms的定时器不会有问题的。有没有其他的任务执行或者管理,导致emwin的优先级问题?
回复

使用道具 举报

15

主题

53

回帖

98

积分

初级会员

积分
98
 楼主| 发表于 2018-12-11 09:10:26 | 显示全部楼层
caicaptain2 发表于 2018-12-10 15:57
emwin的计时周期是用的systic,常用是1ms的间隔。 你这个20ms的定时器不会有问题的。有没有其他的任务执行 ...

我来调试一下。 谢谢版主
回复

使用道具 举报

29

主题

514

回帖

606

积分

金牌会员

积分
606
QQ
发表于 2018-12-11 09:29:28 | 显示全部楼层
路过补两个其他的测试结果,emWin 刷界面的时候,穿插硬件I2C通信的动作容易出异常;其中emWin 执行 WM_PAINT的时候内存消耗很多。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-17 20:08 , Processed in 0.567806 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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