吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

添加柿餅庫到工程并完成LCD驅(qū)動(dòng)和觸摸驅(qū)動(dòng)的對(duì)接

RTThread物聯(lián)網(wǎng)操作系統(tǒng) ? 來源:RTThread物聯(lián)網(wǎng)操作系統(tǒng) ? 作者:劉端飛 ? 2021-05-10 14:25 ? 次閱讀

說是移植,實(shí)際上是添加柿餅庫到工程,并完成LCD驅(qū)動(dòng)和觸摸驅(qū)動(dòng)的對(duì)接,其中LTDC驅(qū)動(dòng)SDK中已經(jīng)完成了移植,RGB屏的移植主要就是時(shí)鐘頻率和屏幕面板參數(shù)的修改。對(duì)于其他屏幕則需要按照LCD設(shè)備框架的要求完成對(duì)接。所以說,只要完成了對(duì)LCD設(shè)備框架和touch設(shè)備框架的對(duì)接,移植過程就完成了90%。

說明

1 柿餅UI:

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

2 ART-Pi

RT-Thread 團(tuán)隊(duì)精心準(zhǔn)備推出的極具擴(kuò)展性的 DIY 開源硬件。

準(zhǔn)備工作

工具:

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

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

UI設(shè)計(jì)器 柿餅配套的設(shè)計(jì)器。

ART-Pi 本次移植需要的硬件平臺(tái)。

RGB屏幕 ART-Pi的lcd接口跟正點(diǎn)原子一樣,其他屏幕請(qǐng)看原理圖做專門的轉(zhuǎn)接板。

多媒體擴(kuò)展板 ART-Pi配套的多媒體擴(kuò)展板。

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

整個(gè)工程在art_pi_blink_led 基礎(chǔ)上移植,SDK版本為 v1.1.0。

下面對(duì)整個(gè)過程進(jìn)行說明。

1.新建工程

RT-Studio中安裝ART-Pi的sdk。新建一個(gè)art_pi_blink_led 工程。

2.添加柿餅庫

這里以Kconfig的方式添加柿餅庫文件,在文件art_pi_blink_ledlibrariesKconfig中添加下面的代碼。為方便復(fù)制,貼在圖下面。

9a10a3dc-b03c-11eb-bf61-12bb97331649.png

config PKG_USING_PERSIMMON_SRC

bool “Using Persimmon Library”

select RT_USING_CPLUSPLUS

select PKG_USING_FASTLZ

select PKG_USING_EZXML

select RT_USING_I2C

default n

上面的配置是柿餅庫所依賴的軟件包和RTT的配置選型,簡(jiǎn)單說明一下,柿餅庫的使用需要依賴fastlz軟件包和ezxml軟件包,同時(shí)還需要開啟C++和i2c,否則編譯會(huì)報(bào)錯(cuò)。

添加完保存之后,點(diǎn)擊RT-Thread Setting

分別使能 LCD驅(qū)動(dòng),文件系統(tǒng)(flash),wifi,柿餅庫,ftp庫。

下圖為開啟LCD支持,這里指的是開啟外設(shè)ltdc支持,這樣系統(tǒng)啟動(dòng)后就會(huì)自動(dòng)注冊(cè)lcd設(shè)備供柿餅庫使用。

9a1c9f20-b03c-11eb-bf61-12bb97331649.png

下圖為開啟wifi支持和flash文件系統(tǒng)支持,柿餅的UI文件需要在文件系統(tǒng)中加載,通過wifi聯(lián)網(wǎng)可以方便使用ftp庫傳輸U(kuò)I文件,非常方便。

9a25a02a-b03c-11eb-bf61-12bb97331649.png

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

9a4849ea-b03c-11eb-bf61-12bb97331649.png

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

9a534070-b03c-11eb-bf61-12bb97331649.png

添加文件

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

9a5e4b28-b03c-11eb-bf61-12bb97331649.png

在main.c中添加使能ftp的相關(guān)代碼。

9a817ec2-b03c-11eb-bf61-12bb97331649.png

保存配置并編譯

9ac20064-b03c-11eb-bf61-12bb97331649.png

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

下載

此時(shí)下載之后屏幕點(diǎn)亮,還不能顯示界面,這是因?yàn)槭溜灥腢I文件還沒有加入到flash文件系統(tǒng)中,下面加入柿餅UI文件,采用ftp協(xié)議傳輸柿餅UI文件。

連接網(wǎng)絡(luò)

使用命令 wifi join 《ssid》 《password》連接網(wǎng)絡(luò)。

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

其中IP為實(shí)際的IP地址,用戶名和密碼為 loogg,端口號(hào)為21。

9aff1044-b03c-11eb-bf61-12bb97331649.png

test文件夾上傳到flash文件系統(tǒng)中。

傳輸完成后,執(zhí)行命令reboot重啟系統(tǒng)

執(zhí)行命令persim_start啟動(dòng)柿餅UI,可以看到屏幕上有圖像產(chǎn)生,但是顯示不對(duì),這是由于參數(shù)配置的問題。

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

9b2c0180-b03c-11eb-bf61-12bb97331649.png

重新編譯下載:

執(zhí)行命令 persim_start,可以看到界面已經(jīng)正常顯示了。

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

LTDC外設(shè)的時(shí)鐘來自pll3_r_ck,這個(gè)時(shí)鐘由晶振經(jīng)過PLL3提供,如下圖:

9c78d3d8-b03c-11eb-bf61-12bb97331649.png

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

9ce9a7a2-b03c-11eb-bf61-12bb97331649.png

添加觸摸

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

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

9cf31922-b03c-11eb-bf61-12bb97331649.png

使能觸摸的初始化代碼:

9d062d82-b03c-11eb-bf61-12bb97331649.png

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

9d17f440-b03c-11eb-bf61-12bb97331649.png

保存,編譯下載:

啟動(dòng)柿餅UI,點(diǎn)擊按鈕,觸摸OK

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

原文標(biāo)題:柿餅UI在ART-Pi上的移植

文章出處:【微信公眾號(hào):RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • lcd
    lcd
    +關(guān)注

    關(guān)注

    34

    文章

    4438

    瀏覽量

    168397
  • 驅(qū)動(dòng)
    +關(guān)注

    關(guān)注

    12

    文章

    1851

    瀏覽量

    85647

原文標(biāo)題:柿餅UI在ART-Pi上的移植

文章出處:【微信號(hào):RTThread,微信公眾號(hào):RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    開發(fā)觸摸驅(qū)動(dòng)板需要考慮哪些因素

    摸屏驅(qū)動(dòng)板是現(xiàn)代電子設(shè)備中不可或缺的一部分,它負(fù)責(zé)將用戶的觸摸操作轉(zhuǎn)化為設(shè)備可以理解的信號(hào)。觸摸驅(qū)動(dòng)板需要通過多個(gè)關(guān)鍵步驟來實(shí)現(xiàn)其功能,以下是對(duì)這些步驟的詳細(xì)介紹。
    的頭像 發(fā)表于 10-29 14:05 ?679次閱讀

    linux內(nèi)核中通用HID觸摸驅(qū)動(dòng)

    在linux內(nèi)核中,為HID觸摸面板實(shí)現(xiàn)了一個(gè)通用的驅(qū)動(dòng)程序,位于/drivers/hid/hid-multitouch.c文件中。hid觸摸驅(qū)動(dòng)是以struct hid_driver
    的頭像 發(fā)表于 10-29 10:55 ?963次閱讀
    linux內(nèi)核中通用HID<b class='flag-5'>觸摸</b><b class='flag-5'>驅(qū)動(dòng)</b>

    基于FPGA的LCD1602液晶顯示模塊驅(qū)動(dòng)設(shè)計(jì)

    本文通過以LCD1602液晶顯示模塊為基礎(chǔ),介紹FPGA驅(qū)動(dòng)LCD1602原理,詳細(xì)介紹硬件原理圖設(shè)計(jì)及FPGA驅(qū)動(dòng)LCD1602軟件設(shè)計(jì),
    的頭像 發(fā)表于 10-24 14:42 ?1712次閱讀
    基于FPGA的<b class='flag-5'>LCD</b>1602液晶顯示模塊<b class='flag-5'>驅(qū)動(dòng)</b>設(shè)計(jì)

    利用MSP430的LCD外設(shè)驅(qū)動(dòng)大型LCD

    電子發(fā)燒友網(wǎng)站提供《利用MSP430的LCD外設(shè)驅(qū)動(dòng)大型LCD.pdf》資料免費(fèi)下載
    發(fā)表于 10-22 09:22 ?0次下載
    利用MSP430的<b class='flag-5'>LCD</b>外設(shè)<b class='flag-5'>驅(qū)動(dòng)</b>大型<b class='flag-5'>LCD</b>

    將 LVDS 驅(qū)動(dòng)器與 Sub-LVDS 接收器對(duì)接應(yīng)用說明

    電子發(fā)燒友網(wǎng)站提供《將 LVDS 驅(qū)動(dòng)器與 Sub-LVDS 接收器對(duì)接應(yīng)用說明.pdf》資料免費(fèi)下載
    發(fā)表于 09-13 11:00 ?1次下載
    將 LVDS <b class='flag-5'>驅(qū)動(dòng)</b>器與 Sub-LVDS 接收器<b class='flag-5'>對(duì)接</b>應(yīng)用說明

    NT36672S用于LTPs TFT LCD的單片觸摸顯示驅(qū)動(dòng)器集成器件英文手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《NT36672S用于LTPs TFT LCD的單片觸摸顯示驅(qū)動(dòng)器集成器件英文手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 08-05 11:48 ?1次下載

    LCD屏和觸摸屏的PCB設(shè)計(jì)

    液晶顯示屏(LCD)和觸摸屏技術(shù)已經(jīng)成為各種電子設(shè)備的核心組成部分,從智能手機(jī)電視和醫(yī)療設(shè)備。在這些設(shè)備中,PCB的設(shè)計(jì)對(duì)于LCD觸摸
    的頭像 發(fā)表于 07-18 11:17 ?2301次閱讀
    <b class='flag-5'>LCD</b>屏和<b class='flag-5'>觸摸</b>屏的PCB設(shè)計(jì)

    請(qǐng)問LCD中文字庫怎么添加調(diào)用?

    直接在LCD例程中lcd.font.h中添加了字庫,然后在.c文件編寫顯示中文的驅(qū)動(dòng)代碼 但是顯示一直是黑乎乎一片,用的星火一號(hào)。
    發(fā)表于 07-11 06:13

    如何在ModelSim中添加Xilinx仿真

    今天給大俠帶來在FPGA設(shè)計(jì)應(yīng)用中如何在ModelSim中添加Xilinx仿真,話不多說,上貨。 注意:ModelSim一定要安裝在不帶空格的目錄下,即不要安裝在“Program
    發(fā)表于 07-03 18:16

    請(qǐng)問esp32s3怎么添加nt35510驅(qū)動(dòng)到新工程中?

    請(qǐng)問esp32s3怎么添加nt35510驅(qū)動(dòng)到新工程
    發(fā)表于 06-27 06:30

    【Vision Board創(chuàng)客營(yíng)連載體驗(yàn)】RA8D1-Vision Board 移植LVGL8.3驅(qū)動(dòng)觸摸驅(qū)動(dòng)代碼

    先說結(jié)論:移植LVGL的過程挺順利的,觸摸屏也能正常移植運(yùn)行,但是目前無法通過觸摸與LVGL界面聯(lián)動(dòng),原因未知。 移植LVGL8.3.10圖形,包括源文件和頭文件: 修改顏色位數(shù)為16
    發(fā)表于 05-13 19:53

    80通道點(diǎn)陣LCD驅(qū)動(dòng)電路AiP31063L芯片介紹

    AiP31063L是一款采用低功耗高壓CMOS技術(shù)的LCD驅(qū)動(dòng)集成電路。該集成電路由40×2位雙向移位寄存器,40×2位數(shù)據(jù)鎖存和40×2位LCD驅(qū)動(dòng)部分組成,該電路用作列
    的頭像 發(fā)表于 04-26 16:36 ?768次閱讀
    80通道點(diǎn)陣<b class='flag-5'>LCD</b>列<b class='flag-5'>驅(qū)動(dòng)</b>電路AiP31063L芯片介紹

    32×4 LCD顯示驅(qū)動(dòng)芯片VKL128數(shù)據(jù)手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《32×4 LCD顯示驅(qū)動(dòng)芯片VKL128數(shù)據(jù)手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 04-22 14:09 ?1次下載

    PC1621K LCD 驅(qū)動(dòng)電路數(shù)據(jù)手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《PC1621K LCD 驅(qū)動(dòng)電路數(shù)據(jù)手冊(cè)》資料免費(fèi)下載
    發(fā)表于 03-12 11:01 ?0次下載

    使用低速模式驅(qū)動(dòng)LCD時(shí),LCD不能正常顯示是為什么?

    如題,我在使用低速模式驅(qū)動(dòng)LCD時(shí)遇到困難,LCD不能正常顯示,不應(yīng)該顯示的部分也顯示出來了,調(diào)整對(duì)比度和刷新頻率也沒能消除該異?,F(xiàn)象。而我在高速模式下顯示是正常的,請(qǐng)問我該如何定位該問題,有什么解決措施嗎?例外,低速模式
    發(fā)表于 02-22 06:29
    皇城娱乐| 百家乐注册18元体验金| 皇冠百家乐| 网络百家乐游戏机怎么破解| 宝龙百家乐官网娱乐城| 百家乐网上真钱赌场娱乐网规则| 日土县| 百家乐游戏介绍与分析| 博天堂百家乐官网官网| 香港六合彩彩色图库| 百家乐游戏下裁| 网络百家乐官网| 什么棋牌游戏能赚钱| 哪个百家乐投注好| 真人百家乐官网导航| 如何打百家乐的玩法技巧和规则| 百家乐官网斗地主下载| 皇冠网址去澳门| 至富百家乐的玩法技巧和规则| 海王星百家乐官网的玩法技巧和规则 | 大发888df登录| 百家乐真人游戏网上投注 | 百家乐官网现金游戏注册送彩金| 大发888娱乐场 888| 百家乐台布21点| 百家乐官网扫瞄光纤洗牌机扑克洗牌机扑克洗牌机 | 百家乐官网投注综合分析法| 波克棋牌官方免费下载| 百家乐赌大小| 兄弟百家乐官网的玩法技巧和规则| 大兴区| 大发888的微博| 网上百家乐正规代理| 玩百家乐官网游戏的最高技巧| 大发888官网 官方| 百家乐图淑何看| 百家乐官网牡丹娱乐城| 百家乐官网有方式赢钱吗| 波胆| 新世百家乐的玩法技巧和规则| 百家乐官网赢钱面面观|