加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入

盡情暢快使用吧!獨(dú)特GUI界面源碼分享

2018/05/08
77
服務(wù)支持:
技術(shù)交流群

完成交易后在“購(gòu)買成功”頁(yè)面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗(yàn)、收獲成長(zhǎng)和認(rèn)同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購(gòu)買后不支持退換且無法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論
相關(guān)方案
  • 方案介紹
  • 相關(guān)文件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

ucGUI與emWin是眾多嵌入式工程師編寫顯示界面的首選,但是隨著版本的升級(jí),對(duì)于商用GUI提出了專利費(fèi)的要求,這也是國(guó)內(nèi)小型企業(yè)所不愿意接受的。于是,編寫了一份屬于自己的獨(dú)特GUI界面代碼。作品采用stm32作為主MCU,驅(qū)動(dòng)LCM12864進(jìn)行顯示。我們的任務(wù)是寫自己的GUI,因此對(duì)其他外設(shè)資源要求不高。另能力僅屬于中神級(jí)別,尚未爐煉至大神級(jí)別,因此我們先用單色LCM12864練手,此貼至此始終開源,供大家一起學(xué)習(xí)交流,把xlGUI豐富起來。

系統(tǒng)設(shè)計(jì)框圖:

講解:

1.xlGUI采用WM_Manage窗口管理器統(tǒng)一管理UI消息事件,用戶交互消息(數(shù)據(jù)信息、按鍵事件等等)均通過WM_SendMessage發(fā)送至控件,由控件自行解析事件類型并響應(yīng)消息;

2.整個(gè)工程中GUI_GDI是公共繪圖接口,其作用是方便控件或者用戶對(duì)顯示屏進(jìn)行繪制顯示;

3.GUI_GDI統(tǒng)一調(diào)用GUI_Drive函數(shù)接口進(jìn)行操作顯存,本例程中,我們?cè)贕UI_GDI里面開辟了m_MemDev顯示內(nèi)存池,該內(nèi)存池與顯示屏顯示像素一一對(duì)應(yīng),GUI_GDI所有函數(shù)默認(rèn)直接操作顯存池像素點(diǎn)。 顯存刷新操作則統(tǒng)一由GUIDRV_DEVICE_API函數(shù)完成,用戶不同類型的顯示屏均可以通過編寫GUI_Driver函數(shù)達(dá)到驅(qū)動(dòng)顯示目的。

制作成功實(shí)物圖片:


說明:

作品全部使用C語言進(jìn)行編寫,通俗易懂,熟悉GDI界面編程的更加不會(huì)陌生。作品旨在提供小型GUI界面編程入門,并盡可能提供擴(kuò)展接口,備注詳細(xì),方便各路嵌入式大神進(jìn)行移植擴(kuò)展維護(hù),希望這版本GUI最終演化成能夠替代ucGUI/emWin。

該項(xiàng)目設(shè)計(jì)來源于立創(chuàng)社區(qū),設(shè)計(jì)資料僅供學(xué)習(xí)參考。

  • 硬件設(shè)計(jì).zip
    描述:原理圖和PCB源文件,用AD打開
  • 開源xlGUI.rar
    描述:GUI源代碼
  • 原文出處及視頻鏈接.txt
    描述:原文出處及視頻鏈接

相關(guān)推薦

電子產(chǎn)業(yè)圖譜