五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(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 系列模組具備卓越的性能和豐富的外設,集Wi-Fi、傳統(tǒng)藍牙、低功耗藍牙為一體,提供高度集成的解決方案,廣泛適用于各類物聯(lián)網(wǎ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)導入好了。

我們可以先從這個項目入手,先移植跑通后繼續(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配置文件夾

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

修改項目配置

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

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

修改驅(qū)動

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

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

(可選)開啟幀率顯示

修改完后點擊上方保存。

修改驅(qū)動代碼

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

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

編譯,上傳項目測試

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

如果沒有問題應該是上圖所示。

開啟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. 從官方例程中復制main.c的代碼,修改制作界面


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

分享到微博請遵守國家法律
濮阳市| 揭西县| 祁连县| 界首市| 封丘县| 磐石市| 广昌县| 二连浩特市| 石城县| 文安县| 纳雍县| 宝丰县| 包头市| 松原市| 巴青县| 微山县| 台湾省| 抚州市| 奇台县| 柘荣县| 甘德县| 高邮市| 雅江县| 临汾市| 湛江市| 怀柔区| 新干县| 易门县| 东乌珠穆沁旗| 麻阳| 济宁市| 宝鸡市| 三河市| 泉州市| 凌云县| 古浪县| 延边| 城市| 北票市| 衢州市| 宜城市|