加入星計(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)期合作伙伴
立即加入
  • 正文
    • 1. 摘要
    • 2. 準(zhǔn)備工作
    • 3. 代碼結(jié)構(gòu)
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

TouchGFX中生成代碼與用戶代碼

2021/01/08
247
閱讀需 3 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

1. 摘要

本文檔主要介紹,TouchGFX 代碼框架以及如何添加用戶代碼。

2. 準(zhǔn)備工作

可以正常運(yùn)行的 TouchGFX 工程

3. 代碼結(jié)構(gòu)

TouchGFX 的框架是基于 MVP 模型設(shè)計(jì),代碼結(jié)構(gòu)主要分為三大類,GUI 引擎,生成代碼,用戶代碼,首先先看什么是 MVP,即 Model, View, Presenter。下圖可以很明顯清除的看到每一部分負(fù)責(zé)什么,干什么工作,Presenter 是 model 和 View 之間的橋梁,View 負(fù)責(zé)顯示,Model 負(fù)責(zé)交互,這三大類撐起了 TouchGFX 的天空,你可以再里面任意翱翔。

清除了 MVP 結(jié)構(gòu)后,對(duì)代碼結(jié)構(gòu)的理解和應(yīng)用的開發(fā)有很大幫助,TouchGFX Design 生成的代碼位于工程的 generated/gui_generated

而用戶代碼位于 gui 文件夾下,gui 文件夾下的代碼自己可以編輯,自己實(shí)現(xiàn)的代碼也是添加在這里。

例如上次我們給大家推送的電阻屏校準(zhǔn)就是在用戶代碼側(cè),通過手寫代碼來實(shí)現(xiàn)。理解了代碼結(jié)構(gòu),在加上熟悉 API 就可以很方便的開發(fā) GUI 界面了,不管是用 Designer,還是自己動(dòng)手寫,如我們校準(zhǔn)觸摸屏的時(shí)候,需要先畫一個(gè)小圓,自己動(dòng)手畫一個(gè)圓。定義變量

在 cpp 文件中添加代碼

這樣就實(shí)現(xiàn)了在屏幕左上角畫了一個(gè)半徑為 10 的實(shí)心圓。如要畫空心圓,將線寬不要設(shè)置為 0,另外注意畫空心圓時(shí)候,半徑必須減去線寬。同理就可以實(shí)現(xiàn)手動(dòng)繪制 2D 圖形。

4. 參考文檔

序號(hào)

文獻(xiàn)

1

touchgfx-documentation4.15

   

相關(guān)推薦

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

分享嵌入式開發(fā)過程中的案例、心得、方案、調(diào)試等故事,涉及MCU底層驅(qū)動(dòng)、Modbus通信、CAN通信、J1939通信協(xié)議棧、GUI,主要以NXP和ST的應(yīng)用為例來講解,項(xiàng)目開發(fā)中的點(diǎn)滴記錄。陪你度過Bug的折騰,方案的修改,成長(zhǎng)的喜悅等。我們一起在嵌入式的江湖闖蕩,多年以后,當(dāng)回憶起那段歲月,不因默默無聞而悔恨。