esp32驱动st7735 idf
以下是使用 ESP32 和 ESP-IDF 驱动 ST7735 屏幕的基础步骤及代码示例:
1. 硬件准备
- 接线参考(根据实际模块调整):
ST7735 ESP32 ------------------ SCL(CLK) → GPIO 18 (SPI CLK) SDA(MOSI) → GPIO 23 (SPI MOSI) RES → GPIO 4 (自定义复位引脚) DC → GPIO 2 (数据/命令控制) CS → GPIO 5 (SPI CS) VCC → 3.3V/5V(根据屏幕要求) GND → GND
2. 添加驱动库
推荐使用 st7735 组件:
# 通过组件管理器添加(或手动下载到 components 目录)
git clone https://github.com/nopnop/st7735-esp-idf components/st7735
3. 代码示例 (main.c)
#include "driver/spi_master.h"
#include "st7735.h"
#define TFT_CS 5
#define TFT_DC 2
#define TFT_RST 4
#define TFT_HOST SPI2_HOST // 使用SPI2主机
void app_main(void) {
// 初始化SPI配置
spi_bus_config_t buscfg = {
.miso_io_num = -1, // 不需要MISO
.mosi_io_num = 23,
.sclk_io_num = 18,
.quadwp_io_num = -1,
.quadhd_io_num = -1,
.max_transfer_sz = 32 * 1024,
};
spi_bus_initialize(TFT_HOST, &buscfg, SPI_DMA_CH_AUTO);
// 屏幕初始化参数
st7735_config_t tft_config = {
.host = TFT_HOST,
.cs_pin = TFT_CS,
.dc_pin = TFT_DC,
.rst_pin = TFT_RST,
.width = 128, // 根据实际屏幕尺寸调整
.height = 160,
.offset_x = 0, // 显示偏移校准
.offset_y = 0,
.invert_colors = 0, // 颜色反转
.rotation = ST7735_ROTATION_90 // 旋转方向
};
st7735_init(&tft_config);
// 测试显示
st7735_fill_screen(ST7735_RED); // 填充红色
vTaskDelay(1000 / portTICK_PERIOD_MS);
st7735_fill_screen(ST7735_GREEN); // 填充绿色
}
4. 关键配置说明
- SPI 频率调整:在
st7735.h中修改SPI_FREQUENCY(默认通常为 40MHz)。 - 显示偏移校准:部分屏幕需要调整
offset_x和offset_y以正确居中显示。 - 颜色模式:支持 16位 RGB565 格式(ST7735默认)。
5. 高级用法
- 图形库集成:可结合 LVGL 实现 UI,需额外配置显示缓冲区和回调函数。
- 优化刷新:使用 DMA 传输减少 CPU 占用。
常见问题排查
- 屏幕无显示:检查背光引脚是否需单独供电/控制。
- 花屏/乱码:降低 SPI 频率(尝试 20MHz 或 10MHz)。
- 颜色异常:确认
invert_colors设置是否正确。
建议从简单填充屏幕开始测试,逐步扩展功能。
st7735 DMA和GPIO外部中断异常的原因?
上图是中断优先级,我的DMA1是SPI,输出信号到显示屏st7735,逻辑是GPIO外部中断处理串口数据,处理完成继续运行显示函数,当GPIO下降沿时触发中断,实际Debug模式的结果显示,串口
使用内置ST7735显示SD卡构建gps数据记录器
电子发烧友网站提供《使用内置ST7735显示SD卡构建gps数据记录器.zip》资料免费下载
资料下载
佚名
2022-11-14 10:30:28
基于ESP8266 Nodemcu和ST7735 TFT显示屏的气象站
电子发烧友网站提供《基于ESP8266 Nodemcu和ST7735 TFT显示屏的气象站.zip》资料免费下载
资料下载
杨静
2022-08-12 10:49:55
STM32应用之TFT1.44寸屏ST7735驱动 SPI通信
STM32应用之TFT1.44寸屏ST7735驱动GitHub项目下载链接:点我下载硬件平台:stm32f103rct和1.44寸128x128 TFT屏(s
资料下载
佚名
2021-12-23 19:00:24
ESP32 之 ESP-IDF 教学(五(1))——ESP-IDF的CMake 构建系统(Build System)
ESP32 之 ESP-IDF 学习笔记(五)【ESP-IDF CMake构建系统(Build System)】文章目录
资料下载
淡淡的爱
2021-12-16 16:53:21
Arduino ESP32 TFTLCD ST7735 代码和原理
目录前言一、3线SPI二、使用1.命令2.对应引脚调整总结前言驱动芯片是ST7735,之前在Arduino上找库,没几个能用的(我FW不能用肯定是我的错),最后还是自己从STM32移植一个。顺便介绍
资料下载
佚名
2021-11-30 15:36:19
LilyGo-T-Wristband板无法通过SPI从ST7735读取ID寄存器咋办?
我在使用 LilyGo-T-Wristband 板将 Arduino 代码移植到本机 idf-esp 代码时遇到问题。无法通过 SPI 从 ST7735 读取 ID 寄存器。这是我的 SPI
TFT1.44寸屏ST7735驱动GitHub的相关资料推荐
STM32应用之TFT1.44寸屏ST7735驱动GitHub项目下载链接:点我下载硬件平台:stm32f103rct和1.44寸128x128 TFT屏(s
ST7735的相关资料分享
目录前言一、3线SPI二、使用1.命令2.对应引脚调整总结前言驱动芯片是ST7735,之前在Arduino上找库,没几个能用的(我FW不能用肯定是我的错),最后还是自己从STM32移植一个。顺便介绍
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- EDA是什么?有什么作用?
- dtmb信号覆盖城市查询
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 什么是场效应管?它的作用是什么?
- 如何进行编码器的正确接线?接线方法介绍
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- 苹果nfc功能怎么复制门禁卡
- 单片机和嵌入式的区别是什么
- amoled屏幕和oled区别
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 通讯隔离作用
- 苹果笔记本macbookpro18款与19款区别
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机