在ucGUI优化的时候遇到的问题,哪位大神给看一下
优化的时候LCD_L0_DrawVLine和LCD_L0_DrawHLine代码如下
[mw_shl_code=c,true]/*********************************************************************
*
* LCD_L0_DrawVLine
*/
void LCD_L0_DrawVLine (int x, int y0, int y1) {
if (GUI_Context.DrawMode & LCD_DRAWMODE_XOR) {
for (; y0 <= y1; y0++) {
LCD_L0_XorPixel(x, y0);
}
} else {
// for (; y0 <= y1; y0++) {
// LCD_L0_SetPixelIndex(x, y0, LCD_COLORINDEX);
// }
// }
while (y0 <= y1) {
myLCD->LCD_REG=(lcddev.setxcmd); myLCD->LCD_RAM=(x>>8);
myLCD->LCD_REG=(lcddev.setxcmd+1);myLCD->LCD_RAM=(x&0XFF);
myLCD->LCD_REG=(lcddev.setycmd);myLCD->LCD_RAM=(y0>>8);
myLCD->LCD_REG=(lcddev.setycmd+1);myLCD->LCD_RAM=(y0&0XFF); //设置光标
myLCD->LCD_REG=lcddev.wramcmd; //????GRAM
myLCD->LCD_RAM=LCD_COLORINDEX;
// SETPIXEL(x, y0, LCD_COLORINDEX);
y0++;
}
}
}[/mw_shl_code]
这个时候BUTTON按键在GUI_Exec();刷新的时候是正常的,但是在做HighSpeed测试的时候只能有170w左右,而如果将设置光标的代码放在while()循环外边的时候,HighSpeed测试的速度上去了,但是在BUTTON创建以后执行GUI_Exec();的时候会出现异常的显示,主要是在按键的第一行范围结束后会出现新画出来的线,有哪位能够帮我看一下啊?
图片右边的就是由于多出的那条线移动造成的。
|