3.2?? 利用uC/GUI開(kāi)發(fā)應(yīng)用程序的步驟
由于uC/GUI提供了源代碼,在開(kāi)發(fā)應(yīng)用程序時(shí),用戶(hù)可以首先將核心文件、LCD驅(qū)動(dòng)文件和需要的字體文件包含在自己的工程里,然后再根據(jù)實(shí)際的硬件需要,包含內(nèi)存設(shè)備輸入設(shè)備控件和窗口管理部分。
具體可以分為以下幾步:
?、虐凑諏?shí)際需要,定制自己的uC/GUI開(kāi)發(fā)環(huán)境。其中包括對(duì)上述目錄的篩選,或?qū)δ夸浿形募暮Y選。
⑵指定硬件設(shè)備的地址,編寫(xiě)接口驅(qū)動(dòng)代碼。這里需要修改LCD_Conf.h文件。
?、蔷幾g、鏈接、調(diào)試示例程序。
⑷修改示例程序并測(cè)試,增加需要的功能。
?、扇绻麥?zhǔn)備開(kāi)發(fā)多任務(wù)應(yīng)用,則需要修改GUI_MAXTASK和GUI_OS宏,實(shí)現(xiàn)uC/GUI與操作系統(tǒng)的結(jié)合。
?、示帉?xiě)自己的應(yīng)用程序。
使用uC/GUI開(kāi)發(fā)應(yīng)用程序時(shí),目標(biāo)系統(tǒng)不是必須配備的,因?yàn)閡C/GUI提供了一個(gè)模擬器,用戶(hù)可以在模擬器上面看到應(yīng)用程序的執(zhí)行的結(jié)果。所以,對(duì)于開(kāi)發(fā)環(huán)境,uC/GUI僅要求有一個(gè)符合ANSI標(biāo)準(zhǔn)的“C”語(yǔ)言編譯器。至于C++編譯器,它不是必須的,但是如果用戶(hù)使用C++語(yǔ)言來(lái)編寫(xiě)應(yīng)用程序,那就需要一個(gè)C++編譯器。[1]
因此,在Windows系統(tǒng)下只要安裝了Microsoft Visual C++就可以運(yùn)行uC/GUI的模擬器工程(工程名一般為Simulation.dsw),然后將該工程中的Application文件夾清空,加入自己編寫(xiě)的源文件,編譯鏈接就可以看到運(yùn)行結(jié)果。
3.3應(yīng)用實(shí)例
下圖是用uC/GUI開(kāi)發(fā)應(yīng)用程序的一個(gè)實(shí)例,該程序是顯示汽車(chē)運(yùn)行時(shí)發(fā)動(dòng)機(jī)轉(zhuǎn)速的一個(gè)界面。
?
圖4 用戶(hù)界面圖
黑色的背景是這個(gè)LCD的窗口區(qū)域,大小為640*480。先利用畫(huà)線函數(shù)繪制基本的弧線,再利用填充函數(shù)填充相應(yīng)的背景顏色,最后用一個(gè)分片存儲(chǔ)設(shè)備執(zhí)行一個(gè)指定的繪圖函數(shù),在這種情況下,在一段時(shí)間內(nèi)只有一小部分要更新。
static void DemoScale(void)
{
int Cnt;
int tDiff, t0 = GUI_GetTime();
PARAM Param;? /* 繪圖函數(shù)的參數(shù) */
GUI_AUTODEV AutoDev; /* 分片存儲(chǔ)設(shè)備對(duì)象 */
GUI_SetColor(GUI_WHITE); /*設(shè)置顏色*/
GUI_SetFont(&GUI_Font8x16);/*設(shè)置字體*/
GUI_DispStringHCenterAt(“Scale using GUI_AUTODEV-object”, 160, 0);
GUI_AA_EnableHiRes();/* 啟動(dòng)高分辨率用于抗鋸齒 */
GUI_AA_SetFactor(MAG);
GUI_MEMDEV_CreateAuto(&AutoDev); /* 建立 GUI_AUTODEV 對(duì)象 */
/* 顯示在一個(gè)固定時(shí)間上的指針 */
for (Cnt = 0; (tDiff = GUI_GetTime() - t0) < 24000; Cnt++);
{
/* 獲得數(shù)值用于顯示一個(gè)多邊形來(lái)表示指針 */
Param.Angle = GetAngle(tDiff)* DEG2RAD;
GUI_RotatePolygon ( Param.aPoints,
aNeedle,
countof(aNeedle),
Param.Angle);
GUI_MEMDEV_DrawAuto(&AutoDev, &Param.AutoDevInfo, &Draw, &Param);
}
4? 結(jié)束語(yǔ)
本文只是簡(jiǎn)單展示了uC/GUI在開(kāi)發(fā)圖形用戶(hù)界面上的應(yīng)用,其巨大的應(yīng)用潛力還有待進(jìn)一步的研究。相信隨著計(jì)算機(jī)滲透到人類(lèi)工作和生活的各個(gè)方面,以嵌入式系統(tǒng)為核心的后PC時(shí)代的到來(lái),uC/GUI的應(yīng)用前景也將更為廣闊。
評(píng)論