本帖最后由 蜗牛蜗牛 于 2018-10-20 09:37 编辑
介绍如下: 通过对话框创建第一个界面后按一个按钮 进入这个界面
这个界面是在paint里面重绘的24个圆形代表红绿灯,这个界面创建了一个定时器,设想的是每秒刷新一次paint内24个圆(圆的填充颜 {MOD}是红黄绿黑轮流显示,黑暂时不显示),定时器 重绘调用这个函数 WM_Paint( pMsg->hWin);//
现在的问题是:如图所示填充元会出现半个情况并且串 {MOD}了,还有就是通过打印我看出,每一秒调用一次 WM_Paint( pMsg->hWin) 。paint消息内容会进入3次,每次进入paint 只是重绘一个整屏幕三分之一左右,
我怀疑是整个有个可能和emwin的对这个屏幕绘制机制有关系,或者底层绘制设置有关系,下面会上传。c的源码,我在总循环中调用guidaly。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
emwin之GUIConf.h中有个GUI_ALLOC_SIZE,一般是8K左右,该值越大,刷屏重复次数越少。只要允许,越大越好,如果能大到显示RAM的两倍,就能一次刷完。所以STM32之类的CPU选型时先用RAM最大的,后面再按成本要求降,降到用户不能忍受为止。
一周热门 更多>