ucgui在stm32上的移植_第1頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、ucgui在stm32上的移植在mdk環(huán)境下將3.90版本的ucgui移植到下了,為了便利大家,特寫此移植辦法,大家可以借鑒(有錯(cuò)誤之處,望大家指點(diǎn)出來共同研究?。┮浦膊襟E:第一步:首先,得把你的tft底層驅(qū)動(dòng)寫好,既在裸機(jī)下,可以正常顯示。其次步:加入ucgui程序包。第三步:配置conf.h guiconf.h guitouchconf.h(因?yàn)槲业囊壕Р粠в|摸功能,此配置在此不講。)配置lcdconf.h文件如下:ifndef lcdconf_hdefine lcdconf_hdefine lcd_xsize (160) /配置tft的水平辨別率define lcd_ysize (128

2、) /配置tft的垂直辨別率define lcd_controller (54124) /tft控制器的名稱define lcd_bitsperpixel (16) /每個(gè)像素的位數(shù)define lcd_fixedpalette (565) /調(diào)色板格式define lcd_swap_rb (0) /紅藍(lán)反色交換define lcd_init_controller() tft_init() ; /此處需要定義的是你的tft初始化函數(shù)endif /* lcdconf_h */配置guiconf.h文件如下:ifndef guiconf_hdefine guiconf_hdefine gui_os

3、 (1) /多任務(wù)define gui_support_touch (0) /觸摸define gui_support_unicode (1) /unicode支持define gui_default_font &gui_font6x8 /gui默認(rèn)字體define gui_alloc_size 5000 /動(dòng)態(tài)內(nèi)存的大小define gui_winsupport 1 /窗口控件支持define gui_support_memdev 1 /支持內(nèi)存設(shè)備define gui_support_aa 1 /* anti aliasing available */endif /* avoid

4、multiple inclusion */第四步:最關(guān)鍵的一步。那就是讓gui能夠找到你的lcd驅(qū)動(dòng)。修改lcddriver。在編寫你的tft底層驅(qū)動(dòng)程序的時(shí)候,一定不能遺忘編寫這兩個(gè)函數(shù):設(shè)置一個(gè)像素和獵取一個(gè)像素的色彩,由于后面無數(shù)ucgui和你的tft驅(qū)動(dòng)關(guān)聯(lián)起來需要這兩個(gè)函數(shù)為前提。以我的tft為例:void lcd_setpixel(unsigned short x, unsigned short y, unsigned short color).unsigned short lcd_getpixel(unsigned short x, unsigned short y)這兩個(gè)函數(shù)寫

5、好,并測(cè)試可以正常顯示后,接下來需要修改tft與ucgui關(guān)聯(lián)的函數(shù)(在一個(gè)c文件下(我的是ili9320_ucgui.c),建議大家在移植gcgui之前最好下載個(gè)別人移植好的例程,對(duì)著修改這樣難度降低無數(shù)):int lcd_l0_init(void)tft_init();return 0;這個(gè)函數(shù),是gcgui初始化tft需要調(diào)用的,里面的函數(shù)就是你tft底層驅(qū)動(dòng)的初始化函數(shù)。void lcd_l0_setpixelindex(int x, int y, int pixelindex)lcd_setpixel(x,y,pixelindex);unsigned int lcd_l0_getpi

6、xelindex(int x, int y)return lcd_getpixel(x,y);上面兩個(gè)函數(shù)是其他函數(shù)的最基本元素,其他函數(shù)比如畫線、點(diǎn)、圓都需要調(diào)用改函數(shù)。里面的lcd_setpixel(x,y,pixelindex)、lcd_getpixel(x,y);就是你tft底層驅(qū)動(dòng)設(shè)置像素和獵取像素的兩個(gè)函數(shù)。緊接著把該ili9320_ucgui.c文件下其他函數(shù)修改一下(凡是碰到設(shè)置像素和獵取像素的地方用以上兩個(gè)函數(shù)代替。)接著,修改另一個(gè)c文件(ili9320_api.c)這里修改很容易,僅僅也是將設(shè)置像素和獵取像素的函數(shù)替換掉自己定義的即可。最后,網(wǎng)上說需要修改那個(gè)gui_x.c文件,因?yàn)槲蚁螺d的是stm32模板(ili9320的控制器),那個(gè)文件沒有修改。ps:我的開發(fā)環(huán)境mdk3.4以上版本,cpu:stm32f103rb tft與接口:模擬8位 1.8英寸 160×128辨別率的tftucgui版本3.90

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論