国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

[教程] esp32平臺下運行l(wèi)vgl,使用屏幕st7735s 128*128詳細配置

2022-01-11 17:08 作者:繁花cloud  | 我要投稿

寫在開頭

博主最近在淘寶閑逛的時候發(fā)現(xiàn)有一家店在賣8塊錢一片的彩屏,比0.96寸oled屏都便宜,看到這個價格就點了進去,發(fā)現(xiàn)兩片包郵,于是購買兩片,回來嘗試跑一下esp32的lvgl,但是運行官方的例程中出現(xiàn)了許多問題,百度去找也是很混亂,后面自己摸索了一下驅(qū)動的源碼,把屏幕驅(qū)動給搞定了。

關(guān)于lvgl

LVGL是一個C語言編寫的免費的開源圖形庫,其提供了用于嵌入式GUI的各種元素。用戶可以利用豐富的圖形庫資源,在消耗極低內(nèi)存的情況下構(gòu)建視覺效果豐富多彩的GUI 。只需 64kB 閃存和 8kB RAM 就足以滿足簡單的用戶界面。LVGL 可以驅(qū)動單色OLED、TFT 顯示器、監(jiān)視器或任何其他顯示器。c 代碼使其可在任何平臺上使用,例如 NXP LPC 或 iMX、STM32、PIC、Arduino、ESP32、Raspberry 等。LVGL 的源碼托管在 GitHub 上,擁有 MIT許可。 真正的完全免費。

關(guān)于ESP32

ESP32 系列模組具備卓越的性能和豐富的外設(shè),集Wi-Fi、傳統(tǒng)藍牙、低功耗藍牙為一體,提供高度集成的解決方案,廣泛適用于各類物聯(lián)網(wǎng)應(yīng)用。

正是因為esp32的豪華配置,可以配合其esp-idf框架在其平臺上輕松運行l(wèi)vgl,個人做了一個例程cpu占用只有10%左右。

關(guān)于移植

由于官方的例程現(xiàn)在還沒有適配lvgl8,所以博主嘗試了一下移植,但是不能運行,所以說還是先拿lvgl7用著。

獲取lvgl官方的lvgl例程

下載地址:https://github.com/lvgl/lv_port_esp32

要注意的是,這個是一個項目,我們自己使用的時候可以直接從lvgl官方庫克隆代碼,同時克隆esp32下的驅(qū)動,不必用這個項目。

打開項目的components文件夾,我們發(fā)現(xiàn)相關(guān)的庫已經(jīng)導(dǎo)入好了。

我們可以先從這個項目入手,先移植跑通后繼續(xù)開發(fā)。

關(guān)于lvgl_esp32_drivers

這個是lvgl官方賬號下的一個項目,主要用于在esp32下適配lvgl,包括屏幕,觸摸等驅(qū)動

以下是支持的屏幕和觸摸芯片:

屏幕

Display ControllerTypeInterfaceColor depth (LV_COLOR_DEPTH)Swap RGB565 color (LV_COLOR_16_SWAP)

ILI9341TFTSPI16: RGB565Yes

ILI9163CTFTSPI16: RGB565Yes

ILI9486TFTSPI16: RGB565Yes

ILI9488TFTSPI16: RGB565No

HX8357B/HX8357DTFTSPI16: RGB565Yes

ST7789TFTSPI16: RGB565Yes

ST7735STFTSPI16: RGB565Yes

FT81xTFTSingle, Dual, Quad SPI16: RGB565No

GC9A01TFTSPI16: RGB565Yes

RA8875TFTSPI16: RGB565Yes

SH1107MonochromeSPI1: 1byte per pixelNo

SSD1306MonochromeI2C1: 1byte per pixelNo

PCD8544MonochromeSPI1: 1byte per pixelNo

IL3820e-PaperSPI1: 1byte per pixelNo

UC8151D/ GoodDisplay GDEW0154M10 DESe-PaperSPI1: 1byte per pixelNo

FitiPower JD79653A/ GoodDisplay GDEW0154M09e-PaperSPI1: 1byte per pixelNo

Supported indev controllers

XPT2046

FT3236, FT6X36

FT6206 controllers should work as well (not tested)

STMPE610

FT81x (Single, Dual, and Quad SPI)


我購買的屏幕使用的是st7735s的芯片,測試可以完美驅(qū)動

配置項目

將項目克隆下來

Bash

git clone --recurse-submodules https://github.com/lvgl/lv_port_esp32.git

--recurse-submodules 同時克隆子模塊

下載后,我們切換一下驅(qū)動到最新分支,例程中的版本存在問題,建議更新:

Bash

cd components/lvgl_esp32_driversgit switch master

搞定之后,我們就可以用vscode打開項目了,這里我使用的是樂鑫的idf插件

按下ctrl+shift+p,按照圖片添加vscode配置文件夾

然后點擊下方設(shè)置,進入配置,記得點擊esp32c3那里切換下芯片,變成esp32:

修改項目配置

修改編譯優(yōu)化級別,縮小編譯文件大小

修改屏幕大小,開啟交換RGB565顏色

修改驅(qū)動

降低spi頻率,要不然畫面會撕裂

修改引腳為自己連接的IO口

(可選)開啟幀率顯示

修改完后點擊上方保存。

修改驅(qū)動代碼

需要調(diào)整一部分代碼,不然有一部分會花屏。

原理:ST7735s是為128*160屏幕設(shè)計的,我們是128*128的屏幕,需要跳過一部分像素。

編譯,上傳項目測試

如果沒有做自動下載電路,需要自己進入下載模式

如果沒有問題應(yīng)該是上圖所示。

開啟lvgl例程測試

需要改動一下,下載的這個程序如果是st7735只會顯示hello world


編譯,重新燒寫,如果正常就會自動運行l(wèi)vgl的demo

自己項目使用lvgl

  1. 創(chuàng)建新項目

  2. 創(chuàng)建components

  3. 下載驅(qū)動:https://github.com/lvgl/lvgl_esp32_drivers/tree/master

  4. 下載lvgl(注意下載v7的):?https://github.com/lvgl/lvgl/tree/release/v7

  5. 把下載的放入components中

  6. 打開配置編輯器編輯配置

  7. 從官方例程中復(fù)制main.c的代碼,修改制作界面


[教程] esp32平臺下運行l(wèi)vgl,使用屏幕st7735s 128*128詳細配置的評論 (共 條)

分享到微博請遵守國家法律
平舆县| 旬阳县| 汉寿县| 武邑县| 克山县| 潢川县| 合肥市| 梨树县| 广宗县| 白水县| 靖西县| 宝清县| 景谷| 大关县| 惠东县| 新余市| 页游| 古蔺县| 洪泽县| 聂荣县| 盐城市| 博兴县| 和田县| 万宁市| 杭锦后旗| 永胜县| 太仆寺旗| 凯里市| 侯马市| 县级市| 宁阳县| 永善县| 革吉县| 宜兴市| 双牌县| 桃园县| 尚志市| 开封市| 翼城县| 新昌县| 宜昌市|