|
5.20的时候将ucGUI V3.9移植到STM32上,后面连着3天都搞不定,要么XOR模式显示错误,要么控件残缺显示,要么莫名其妙卡死,或者控件对话框完全不显示,一直搞不定,无奈百度搜索,终于在一个不起眼的帖子上找到了原因,呵呵,真是绝对想不到的BUG,印象深刻啊!总结一下这几天的移植心得。
1.移植方法资料很多,找一个范例去做就是了,比较关键的是LCD的初始化,画点函数,读点颜色函数一定要正确。我用的STM32F103ZET6+ILI9225的2.0寸(176x220x16bit)TFT,读点颜色函数需要加上一些延时,可能是时序的要求吧。
u16 lcd_GetPoint(u16 x,u16 y)
{
unsigned int a=0;
lcd_SetCursor(x,y);
*(__IO uint16_t *) (Bank1_LCD_C)= 0x0022;
Delay(1);
a=*(__IO uint16_t *) (Bank1_LCD_D); //空操作
Delay(1);
a=*(__IO uint16_t *) (Bank1_LCD_D); //读出的实际16位像素数据
return(a);
}
2.KEIL编译ucGUI有BUG,红框圈的这2个Group要上移,注意这个大坑。原帖:http://www.openedv.com/posts/list/8214.htm
 
3.uiGUI文件较多,配置参数固定下来之后,最好将ucgui单独编译成一个lib库,加到自己的工程中,这样子编译很快。
4.ucGUI不要ucOSII的时候,可以在1ms的定时中断中让OS_TimeMS++,这样子由GUI_Delay函数来刷新界面了。
|
|