找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4200|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

ucGUI移植的一點(diǎn)心得

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:89763 發(fā)表于 2015-9-12 21:45 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
5.20的時(shí)候?qū)cGUI V3.9移植到STM32上,后面連著3天都搞不定,要么XOR模式顯示錯(cuò)誤,要么控件殘缺顯示,要么莫名其妙卡死,或者控件對(duì)話(huà)框完全不顯示,一直搞不定,無(wú)奈百度搜索,終于在一個(gè)不起眼的帖子上找到了原因,呵呵,真是絕對(duì)想不到的BUG,印象深刻。】偨Y(jié)一下這幾天的移植心得。
1.移植方法資料很多,找一個(gè)范例去做就是了,比較關(guān)鍵的是LCD的初始化,畫(huà)點(diǎn)函數(shù),讀點(diǎn)顏色函數(shù)一定要正確。我用的STM32F103ZET6+ILI9225的2.0寸(176x220x16bit)TFT,讀點(diǎn)顏色函數(shù)需要加上一些延時(shí),可能是時(shí)序的要求吧。
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);   //讀出的實(shí)際16位像素?cái)?shù)據(jù)          
        return(a);       
}
2.KEIL編譯ucGUI有BUG,紅框圈的這2個(gè)Group要上移,注意這個(gè)大坑。原帖:http://www.openedv.com/posts/list/8214.htm

3.uiGUI文件較多,配置參數(shù)固定下來(lái)之后,最好將ucgui單獨(dú)編譯成一個(gè)lib庫(kù),加到自己的工程中,這樣子編譯很快。
4.ucGUI不要ucOSII的時(shí)候,可以在1ms的定時(shí)中斷中讓OS_TimeMS++,這樣子由GUI_Delay函數(shù)來(lái)刷新界面了。


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表