初级会员

- 积分
- 87
- 金钱
- 87
- 注册时间
- 2017-7-25
- 在线时间
- 25 小时
|
1金钱
大神们帮我分析一下。谢谢
视频上传不了。麻烦教下上传视频 。
硬件是STM32F103VC +SSD1963
emwin内存是40*1024.驱动也优化了
在主界面有几张图片,开启 WM_SetCreateFlags(WM_CF_MEMDEV)后刷新慢,但是又要必须开启,要不然有闪烁感.
在wm_paint下要显示几张位图。
GUI_CONST_STORAGE GUI_BITMAP bmwaterfull = {
95, // xSize
170, // ySize
190, // BytesPerLine
16, // BitsPerPixel
(unsigned char *)_acwaterfull, // Pointer to picture data
NULL, // Pointer to palette
GUI_DRAW_BMP565
};
这种大小的图片有两张,是相互替换用。
GUI_CONST_STORAGE GUI_BITMAP bmredpump = {
45, // xSize
120, // ySize
90, // BytesPerLine
16, // BitsPerPixel
(unsigned char *)_acredpump, // Pointer to picture data
NULL, // Pointer to palette
GUI_DRAW_BMP565
};
这种大小的图片要显示8张。
还有几张小图标。
我试了一下,如果在wm_paint不放这些图片,刷新还是可以的,看不到刷新感。但是显示这些图片就很明显。
下面附这些图片的显示方式。
void pump_display(void)
{
u8 i;
GUI_SetPenSize(6);
GUI_SetFont(&GUI_Font24_ASCII);
for(i=0;i<8;i++)
{
if (SysParameterCur.PumpUseFlag==UseState)
{
GUI_DrawLine(225+i*75,170,760,170);//最上面线条
GUI_DrawLine(165+i*75,318,165+i*75,370);//竖线
GUI_DrawLine(165+i*75,318,225+i*75,318);//上横
GUI_DrawLine(225+i*75,170,225+i*75,318);//上竖线
GUI_DrawLine(140,370,165+i*75,370);//底部线条
GUI_GotoXY(180+i*75,335);
GUI_DispDec(i+1,1);
GUI_DispStringAt("#",192+i*75,335);
if (PumpState==RunState)
{
GUI_DrawBitmap(&bmbluepump,170+75*i,212);
}
else if (PumpState==StopState)
{
GUI_DrawBitmap(&bmredpump,170+75*i,212);
}
else if (PumpState==ErroState)
{
GUI_DrawBitmap(&bmgradpump,170+75*i,212);
}
}
else if (SysParameterCur.PumpUseFlag==NoUseState)
{
__NOP();
}
}
}
void waterbox_check(void)
{
//水箱缺水信号显示
if (SysParameterCur.PumpUseFlag[10] ==UseState )
{
if ((input_buf[0]&0x10)==0x10)
{
GUI_DrawBitmap(&bmwaterlow,45,220);
}
else
{
GUI_DrawBitmap(&bmwaterfull,45,220);
}
}
else
{
if ((input_buf[0]&0x10)==0x10)
{
GUI_DrawBitmap(&bmwaterfull,45,220);
}
else
{
GUI_DrawBitmap(&bmwaterlow,45,220);
}
}
}
我现在个人感觉是认为内存不够,我试着调整,用10*1024时,刷新很慢,但是我最大也只能放大到40*1024了,比10*1024要快一些。
大神们有什么好的方法。给个思路也行。
|
|