基于uCGUI的數(shù)據(jù)顯示系統(tǒng)
LCD驅(qū)動程序如前面所述,保存在lcd44b0.c中。出了底層的初始化函數(shù)LCD_Init_Controler()以外,還需要做以下修改,這里只提關(guān)鍵部分。
主要進(jìn)行相關(guān)的寄存器配置,以及和GUI的接口程序。這里只提及關(guān)鍵部分。
?、?定義顯示緩沖區(qū)時使用的char數(shù)據(jù)類型,它是8bit的:
unsigned char Bmp[ARRAY_SIZE_G16];//液晶顯示緩沖數(shù)組
?、?定義讀寫緩沖區(qū)時使用的數(shù)據(jù)類型,也是8bit的U8:
#define LCD_READ_MEM (Off)*((U8*)(frame
Buffer256+(((U32)(Off)))))
#define LCD_WRRITE_MEM(Off,data)*((U8*)frameBuffer256+(((U32)(Off)))))=data
#define LCD_WRITE_REG(Off,data)
?、?定義液晶總線寬度定義位8bit:
#ifndef LCD_BUSWIDTH
#define LCD_BUSWIDTH(8)
#endif
④ 定義字節(jié)順序:
#define LCD_SWAP_BYTE_ORDER(0)
至此uC/GUI的移植基本上已經(jīng)完成了。當(dāng)然這里只提供了移植的關(guān)鍵部分,更多更完整的移植還需要做不少的工作,如觸控屏的移植、鍵盤鼠標(biāo)的移植以及中文字體的移植等。詳情請參閱uC/GUI手冊中Getting Started一章。
4 數(shù)據(jù)顯示程序設(shè)計
數(shù)據(jù)顯示程序主要是基于uC/GUI平臺的GUI函數(shù)庫,完成字符、曲線的繪制。與畫線相關(guān)的GUI函數(shù)有:
GUI DrawHLine()
原型:void GUI_DrawLine(int x0,int y0,int x1,int y1);
其中,x0、y0、x1、y1分別為UGI坐標(biāo)系下的起點和終點的橫坐標(biāo)和縱坐標(biāo)。
GUI DispDec()
原型:void GUI_DispDec(I32 v,U8 Len);
其中,v為要顯示的十進(jìn)制變量值,Len為要顯示的數(shù)據(jù)的位數(shù)。
5 總結(jié)
本文主要介紹了基于ARM7內(nèi)核S3C44B0X和L78C64液晶模塊硬件平臺的uC/GUI的移植,以及在工程上的應(yīng)用,經(jīng)過實際應(yīng)用發(fā)現(xiàn),uC/GUI功能強大,響應(yīng)迅速,穩(wěn)定性高,具有廣泛的應(yīng)用前景.
評論