当前位置:网站首页 > 云服务教程 > 正文

st7735s视频教程(st7735 spi)



写在开头

博主最近在淘宝闲逛的时候发现有一家店在卖8块钱一片的彩屏,比0.96寸oled屏都便宜,看到这个价格就点了进去,发现两片包邮,于是购买两片,回来尝试跑一下esp32的lvgl,但是运行官方的例程中出现了许多问题,百度去找也是很混乱,后面自己摸索了一下驱动的源码,把屏幕驱动给搞定了。

关于lvgl

LVGL是一个C语言编写的免费的开源图形库,其提供了用于嵌入式GUI的各种元素。用户可以利用丰富的图形库资源,在消耗极低内存的情况下构建视觉效果丰富多彩的GUI 。只需 64kB 闪存和 8kB RAM 就足以满足简单的用户界面。LVGL 可以驱动单色OLED、TFT 显示器、监视器或任何其他显示器。c 代码使其可在任何平台上使用,例如 NXP LPC 或 iMX、STM32、PIC、Arduino、ESP32、Raspberry 等。LVGL 的源码托管在 GitHub 上,拥有 MIT许可。 真正的完全免费。

关于ESP32

ESP32 系列模组具备卓越的性能和丰富的外设,集Wi-Fi、传统蓝牙、低功耗蓝牙为一体,提供高度集成的解决方案,广泛适用于各类物联网应用。

正是因为esp32的豪华配置,可以配合其esp-idf框架在其平台上轻松运行lvgl,个人做了一个例程cpu占用只有10%左右。

关于移植

由于官方的例程现在还没有适配lvgl8,所以博主尝试了一下移植,但是不能运行,所以说还是先拿lvgl7用着。

获取lvgl官方的lvgl例程

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

要注意的是,这个是一个项目,我们自己使用的时候可以直接从lvgl官方库克隆代码,同时克隆esp32下的驱动,不必用这个项目。

打开项目的components文件夹,我们发现相关的库已经导入好了。

我们可以先从这个项目入手,先移植跑通后继续开发。

关于lvgl_esp32_drivers

这个是lvgl官方账号下的一个项目,主要用于在esp32下适配lvgl,包括屏幕,触摸等驱动

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

屏幕

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的芯片,测试可以完美驱动

配置项目

将项目克隆下来

Bash

--recurse-submodules 同时克隆子模块

下载后,我们切换一下驱动到最新分支,例程中的版本存在问题,建议更新:

Bash

搞定之后,我们就可以用vscode打开项目了,这里我使用的是乐鑫的idf插件

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

然后点击下方设置,进入配置,记得点击esp32c3那里切换下芯片,变成esp32:

修改项目配置

修改编译优化级别,缩小编译文件大小

修改屏幕大小,开启交换RGB565颜色

修改驱动

降低spi频率,要不然画面会撕裂

修改引脚为自己连接的IO口

(可选)开启帧率显示

修改完后点击上方保存。

修改驱动代码

需要调整一部分代码,不然有一部分会花屏。

原理:ST7735s是为128*160屏幕设计的,我们是128*128的屏幕,需要跳过一部分像素。

编译,上传项目测试

如果没有做自动下载电路,需要自己进入下载模式

如果没有问题应该是上图所示。

开启lvgl例程测试

需要改动一下,下载的这个程序如果是st7735只会显示hello world

编译,重新烧写,如果正常就会自动运行lvgl的demo

自己项目使用lvgl

    到此这篇st7735s视频教程(st7735 spi)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

    版权声明


    相关文章:

  1. 操作系统原理教程(操作系统原理教程王迤冉)2025-03-13 14:00:08
  2. yum命令安装软件教程(yum命令下载安装包)2025-03-13 14:00:08
  3. cmake教程书籍推荐(cmake 中文教程)2025-03-13 14:00:08
  4. junit5怎么用(junit教程)2025-03-13 14:00:08
  5. 达梦安装手册(达梦8安装教程)2025-03-13 14:00:08
  6. 苹果电脑装双系统安装教程win7(苹果电脑装双系统有几种方法)2025-03-13 14:00:08
  7. st7735s视频教程(st7735s手册)2025-03-13 14:00:08
  8. st7735s和st7735r驱动一样嘛(st7735s驱动教程)2025-03-13 14:00:08
  9. yolov3作者(yolov3视频教程)2025-03-13 14:00:08
  10. keil软件破解(keil破解教程)2025-03-13 14:00:08
  11. 全屏图片