日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

柿饼UI在ART-Pi上的移植

發布時間:2024/3/13 编程问答 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 柿饼UI在ART-Pi上的移植 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作者:社區成員劉端飛

直播回看:https://www.bilibili.com/video/BV1jh411m7tS(關注+一鍵三聯,技術干貨不錯過!)

說是移植,實際上是添加柿餅庫到工程,并完成LCD驅動和觸摸驅動的對接,其中LTDC驅動SDK中已經完成了移植,RGB屏的移植主要就是時鐘頻率和屏幕面板參數的修改。對于其他屏幕則需要按照LCD設備框架的要求完成對接。

所以說,只要完成了對LCD設備框架和touch設備框架的對接,移植過程就完成了90%。

開源地址:https://gitee.com/liuduanfei/ART-Pi-Persimmon/tree/master

說明

1 柿餅UI:

Persimmon 是一套運行在RT-Thread嵌入式實時操作系統上的圖形用戶組件界面,用于提供圖形界面的用戶交互。它采用C++語言編寫,基于C語言實現的底層圖形像素引擎,為上層應用提供了控件、窗口、signal/slot,手勢動畫等機制。為了提高UI的開發靈活性、降低用戶開發時間和成本,Persimmon 提供了所見即所得的UI設計器。用戶可通過設計器輕松實現UI界面設計,并利用JavaScript腳本實現對界面邏輯的控制。

2 ART-Pi

RT-Thread 團隊精心準備推出的極具擴展性的 DIY 開源硬件。

準備工作

工具:

  • RT-Studio RT-Thread推出的一站式IDE。

    (下載鏈接:https://www.rt-thread.org/page/studio.html)

  • UI設計器 柿餅配套的設計器。

  • ART-Pi 本次移植需要的硬件平臺。

  • RGB屏幕 ART-Pi的lcd接口跟正點原子一樣,其他屏幕請看原理圖做專門的轉接板。

  • 多媒體擴展板 ART-Pi配套的多媒體擴展板。

本次移植的RGB屏幕為正點原子 800x480分辨率的七寸屏,觸摸芯片為FT5426。

整個工程在art_pi_blink_led?基礎上移植,SDK版本為?v1.1.0。

下面對整個過程進行說明。

1.新建工程

RT-Studio中安裝ART-Pi的sdk。新建一個art_pi_blink_led?工程。

2.添加柿餅庫

這里以Kconfig的方式添加柿餅庫文件,在文件art_pi_blink_led\libraries\Kconfig中添加下面的代碼。為方便復制,貼在圖下面。

config PKG_USING_PERSIMMON_SRCbool "Using Persimmon Library"select RT_USING_CPLUSPLUSselect PKG_USING_FASTLZselect PKG_USING_EZXMLselect RT_USING_I2Cdefault n

上面的配置是柿餅庫所依賴的軟件包和RTT的配置選型,簡單說明一下,柿餅庫的使用需要依賴fastlz軟件包和ezxml軟件包,同時還需要開啟C++和i2c,否則編譯會報錯。

添加完保存之后,點擊RT-Thread Setting

分別使能?LCD驅動,文件系統(flash),wifi,柿餅庫,ftp庫。

下圖為開啟LCD支持,這里指的是開啟外設ltdc支持,這樣系統啟動后就會自動注冊lcd設備供柿餅庫使用。

下圖為開啟wifi支持和flash文件系統支持,柿餅的UI文件需要在文件系統中加載,通過wifi聯網可以方便使用ftp庫傳輸UI文件,非常方便。

下圖為開啟柿餅庫和ftp庫支持,前面添加的Kconfig代碼這個就以圖形配置的方式顯示,通過點擊就能使能。

設置lwip,ftp庫需要更多的資源配置,按照下圖配置lwip,不然傳輸過程會出現失敗的情況,配置好之后保存。

添加文件

上面幾個步驟只是添加了柿餅庫的文件,要想啟動柿餅庫還需要添加額外的文件,在工程applications文件夾下添加啟動柿餅UI所需要的文件,如下圖所示。

在main.c中添加使能ftp的相關代碼。

保存配置并編譯

可以看到,柿餅庫成功鏈接,編譯尺寸還是比較大的。

下載

此時下載之后屏幕點亮,還不能顯示界面,這是因為柿餅的UI文件還沒有加入到flash文件系統中,下面加入柿餅UI文件,采用ftp協議傳輸柿餅UI文件。

連接網絡:

使用命令?wifi join <ssid> <password>連接網絡。

待獲取IP后連接ftp服務器,如下圖所示:

其中IP為實際的IP地址,用戶名和密碼為 loogg,端口號為21。

將test文件夾上傳到flash文件系統中。

傳輸完成后,執行命令reboot重啟系統

執行命令persim_start啟動柿餅UI,可以看到屏幕上有圖像產生,但是顯示不對,這是由于參數配置的問題。

按照下圖文件修改工程中的屏幕參數配置,本人用的正點原子屏幕的配置參數如下:

重新編譯下載:

執行命令?persim_start,可以看到界面已經正常顯示了。

如果你的屏幕和本人的不一樣,請參考屏幕的面板手冊修改上面的參數,這里說明一下LTDC時鐘配置:在H7的手冊上可以看到

LTDC外設的時鐘來自pll3_r_ck,這個時鐘由晶振經過PLL3提供,如下圖:

在board.c中有如下代碼,經過計算LTDC的時鐘為:25M(晶振)/5*160/24 = 33.3MHz,符合屏幕要求。如果這里計算的頻率和你的屏幕不匹配,請按需修改,同時修改lcd_port.h中面板的其他參數。

添加觸摸

下載軟件包,正點原子這塊屏所實用的觸摸IC為ft5426,該觸摸芯片本人已制作成軟件包,所以直接添加就可。

添加添加軟件包和touch.c文件,如下圖:

使能觸摸的初始化代碼:

該觸摸芯片采用i2c控制,根據引腳設置配置使能i2c1,如下圖:

保存,編譯下載:

啟動柿餅UI,點擊按鈕,觸摸OK

如果你用的觸摸IC和本人的不一樣,請先根據touch框架移植好觸摸驅動,最好做成軟件包的方式也方便他人使用,然后在touch.c文件中添加相應的初始化函數,其中柿餅UI的觸摸事件上報的代碼已經添加不需要修改。

RT-Thread商業官網上線,瀏覽官網請點擊閱讀原文

你可以添加微信17775982065為好友,注明:公司+姓名,拉進 RT-Thread 官方微信交流群!

???????????? 點擊閱讀原文進入商業官網(請用電腦瀏覽器打開)

總結

以上是生活随笔為你收集整理的柿饼UI在ART-Pi上的移植的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。