UCGUI在STM32平台移植經驗(無作業系統)

2021-06-13 22:47:54 字數 938 閱讀 5890

**:

ucgui 移植的前提是已經具備了lcd驅動函式,已經能夠實現點亮lcd螢幕,並實現畫點以及獲取指定點顏色值的功能。一般的顯示屏**商會提供對應的驅動函式。主要有初始化函式void lcd_init(),螢幕畫點函式 void lcd_drawpoint(u16 x,u16 y,u16 color),以及獲取指定點顏色值的u16 lcd_readpoint(u16 x,u16 y)函式。移植的關鍵在於把這三個函式與ucgui提供的介面函式匹配。

開啟gui\lcddriver中的lcddummy.c檔案,找到int  lcd_l0_init(void)初始化函式,lcd_l0_setpixelindex(int x, int y, int pixelindex)畫點函式,unsigned int lcd_l0_getpixelindex(int x, int y)讀取顏色值函式,把lcd驅動函式填入其中,如下圖:

關於lcd配置的含義的解釋,需要根據所選的螢幕的大小,顏色深度做出修改。網路上有很多說明, 在此不再重複。

我在keil uvision4中碰到的一些問題,做出記錄。

編譯過程中,出現.    \output\tft觸控螢幕.axf: error: l6218e: undefined symbol exit (referred from jerror.o). 錯誤

在網路上搜到了一些解答,說是在編譯配置中選項不能使用微庫,如下圖:

於是,我又把微庫選上,進入了ucgui/jpeg/jerror.c中,找到error_exit (j_common_ptr cinfo)函式中的exit(exit_failure),把這行給注釋掉,改用return直接返回。

12864移植到STM32平台

利用串列埠方式將原本51微控制器上的串列埠程式移植到stm32上,除錯了兩天終於可以顯示了 1.排查io的初始化是否有問題,在stm32平台上需要對io口時鐘使能,io口模式配置,一些特殊的管腳還需要做特殊的配置。2.檢查延時函式,一般來說移植到51的程式到了stm32的話時序會發生比較大的改變,這...

stm32移植ecos,移植ucgui到ecos

ucgui是乙個開源的輕型嵌入式gui,使用廣泛,資料豐富,功能完整,尤其適合嵌入式產品的gui。只是它開源但不免費。僅管如此,移植來玩玩還是可以的。ucgui設計優秀,具有良好移植性,配合ecos framebuf優秀框架,可以讓你很快見到ucgui呈現的精美顯示介面。本文主要介紹了ucgui移植...

UCGUI 移植 STM32 帶觸屏

首先 需要看的就是uc gui的使用者手冊,關於輸入裝置 input device的描述,然後就基本會配置和使用了 18.1 指標游標輸入裝置 指標游標輸入裝置包括滑鼠和觸控螢幕。它們共用一組通用的指標游標輸入裝置 pid 函式使得滑鼠和觸控螢幕能同時起作用。該函式一般由視窗管理器自動地呼叫,如先前...