Adafruit_ST7735 库详解(中文)
Adafruit_ST7735 是 Adafruit 官方开发的开源 Arduino 库,专门用于驱动 ST7735 芯片的 TFT 液晶屏(常见尺寸:1.8寸、1.44寸等)。以下是核心信息:
核心功能
- 驱动支持:
- 兼容 ST7735 驱动的 TFT 屏幕(分辨率为 128x160 或 128x128)。
- 支持硬件 SPI 和软件 SPI 通信模式。
- 图形操作:
- 基础绘图(点、线、矩形、圆形)。
- 文本显示(多种字体大小、颜色)。
- 位图显示(通过
.drawBitmap())。 - 屏幕旋转(
setRotation(0-3))。
- 性能优化:
- 支持屏幕局部刷新,减少数据传输量。
- 直接内存写入(DMA)支持(需硬件支持)。
使用步骤
-
安装库:
- 在 Arduino IDE 中搜索
Adafruit ST7735,安装后会自动安装依赖库Adafruit GFX(核心图形库)。 - 或从 GitHub 下载:Adafruit ST7735 Library
- 在 Arduino IDE 中搜索
-
接线示例(硬件 SPI): Arduino 引脚 ST7735 引脚 5V/3.3VVCCGNDGNDD13(SCK)SCLD11(MOSI)SDAD10TFT_CS片选引脚 D9TFT_DC数据/命令控制 D8TFT_RST复位引脚(也可用 -1 表示软复位) -
代码框架:
#include <Adafruit_GFX.h> #include <Adafruit_ST7735.h> // 定义引脚 #define TFT_CS 10 #define TFT_DC 9 #define TFT_RST 8 // 或写 -1 并接 RESET 到 Arduino RESET // 初始化对象(硬件 SPI) Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST); void setup() { tft.initR(INITR_BLACKTAB); // 初始化屏幕(黑屏版本) tft.fillScreen(ST7735_BLACK); // 清屏为黑色 tft.setRotation(1); // 设置显示方向(0-3) tft.setTextColor(ST7735_GREEN); tft.setTextSize(2); tft.setCursor(10, 20); tft.println("Hello World!"); } void loop() { // 绘制动态图形 tft.fillRect(30, 50, 60, 30, ST7735_RED); // 画矩形 }
常用函数
| 函数 | 说明 |
|---|---|
initR() |
初始化屏幕(参数指定屏幕型号,如 INITR_BLACKTAB) |
fillScreen(color) |
全屏填充颜色(如 ST7735_RED) |
drawPixel(x, y, color) |
画单个像素点 |
drawLine(x0, y0, x1, y1, color) |
画直线 |
drawRect(x, y, w, h, color) |
画空心矩形 |
fillRect(x, y, w, h, color) |
画实心矩形 |
drawCircle(x, y, r, color) |
画空心圆 |
print("text") |
显示文本(需先设置 setCursor() 位置) |
setRotation(0-3) |
设置屏幕旋转方向(0°~270°) |
颜色格式:RGB565(16 位),预定义常量如
ST7735_BLUE,或通过tft.Color565(255,0,0)自定义(红、绿、蓝 0-255)。
常见问题解决
- 白屏/花屏:
- 检查电源是否充足(屏幕需 3.3V 或 5V)。
- 确认 SPI 引脚连接正确(尤其
CS、DC、RST)。 - 尝试降低 SPI 速度:
tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST, SPI_MODE0, 4000000);。
- 文本不显示:
- 确保先调用
setTextColor()和setTextSize()。 - 用
setCursor(x, y)设置起始位置。
- 确保先调用
- 屏幕型号差异:
- 初始化时选择正确参数:
INITR_BLACKTAB:黑边框屏(常见 1.8")。INITR_REDTAB:红边框屏。INITR_GREENTAB:绿边框屏(需特殊处理偏移)。
- 初始化时选择正确参数:
进阶应用
- 显示图片:使用 Adafruit ImageReader 库解码 BMP 文件。
- 游戏开发:结合按键实现动态刷新(需优化帧率)。
- 低功耗模式:调用
tft.enableDisplay(false)关闭背光。
官方示例库路径:Arduino IDE → 文件 → 示例 → Adafruit ST7735 查看完整代码。
在Arduino上使用1.8英寸TFT显示屏的入门指南
下载每个库并解压缩文件夹。将它们重命名为“ Adafruit_ST7735”和“ Adafruit_GFX”,并将每个文件夹放置在Arduino Libraries文件夹内。我已将库的屏幕快照附加
2019-12-12 11:09:40
为什么无法让I2C+SPI在Wemos D1 Mini Pro上工作?
= Adafruit_ST7735(TFT_CS,TFT_DC, TFT_RST);BME280I2C bme;void setup(void) {Serial.begin(9600);while
heks
2023-02-27 08:20:08
ST7735的相关资料分享
目录前言一、3线SPI二、使用1.命令2.对应引脚调整总结前言驱动芯片是ST7735,之前在Arduino上找库,没几个能用的(我FW不能用肯定是我的错),最后还是自己从STM32移植一个。顺便介绍
茶壶茶茶
2022-01-25 06:18:42
TFT1.44寸屏ST7735驱动GitHub的相关资料推荐
STM32应用之TFT1.44寸屏ST7735驱动GitHub项目下载链接:点我下载硬件平台:stm32f103rct和1.44寸128x128 TFT屏(st7735驱动)IDE:keil MDK
母猪会上树
2022-02-18 06:56:58
[经验] 上海航芯ACM32F403RET7外设SPI测试。点亮SPI LCD屏.驱动芯片ST7735.
= ST7735_YSTART;// based on Adafruit ST7735 library for Arduinostatic const uint8_tinit_cmds1
HQGBOY
2022-10-23 10:55:04
【Milk-V Duo 开发板免费体验】3. 点亮st7735屏幕
前言 本文介绍milkv-duo加载st7735的lcd屏幕,以及屏幕显示log。 参考文章:记录为Linux配置spi屏幕(st7735s)https://community.milkv.io/t
voidpbq
2023-09-18 22:05:24
STM32F103ZET6驱动的ST7735s一直出现白屏是为啥呢?怎么解决?
STM32F103ZET6驱动的ST7735s一直出现白屏是为啥呢?怎么解决?
深海零下一度1
2022-02-21 07:25:38
STM32F407VET6+ST7735TFT LCD彩屏驱动程序分享
硬件准备STM32F407VET6开发板一块编译器使用的是STM32cubeide。屏幕使用的是如图所示的屏幕,驱动芯片是st7735.驱动协议采用的是spi通讯协议。和stm32芯片的连接方式如下
沈文强66
2022-02-18 07:34:17
怎样把ILI9326移植到Fireduino上替代原先的ST7735库呢
中断的引脚,进入中断后可以通过SPI方式读取电阻屏的AD值来计算点击的坐标,估计使用的芯片是XPT2046之类的。但是官方默认是ST7735 IC的显示屏,而且到现在为止,这个配套的显示屏还没有上市,买不到,无奈只好使用原来的给Arduino准备的TFT了。
lucas_songlea
2022-04-11 15:07:19
物联网行业中的TFT-LCD屏驱动_ST7735S设计详解
ST7735S是另一款液晶显示控制器,它具有更高的性能和功能。它支持最高分辨率为160×128的TFT模块,支持完整的RGB分量控制,并且具有一个16位数据总线,可以支持最高分辨率为320×240
2024-09-29 11:54:28
LilyGo-T-Wristband板无法通过SPI从ST7735读取ID寄存器咋办?
我在使用 LilyGo-T-Wristband 板将 Arduino 代码移植到本机 idf-esp 代码时遇到问题。无法通过 SPI 从 ST7735 读取 ID 寄存器。这是我的 SPI
ht_liu
2023-03-01 06:59:31
【国民技术N32项目移植】N32G457项目移植之RT-Thread SPI_TFT_LCD ST7735
ST7735的示例我原先在51黑论坛找到的例子:他是一个用stm32库函数实现的驱动LCD—ST7735的例子,在其工程目录下面有一个LCD的文件夹,我们今天就用这文件来移植实验:其目录如下:lcd.c
华仔stm32
2023-01-30 23:40:17
B7735
B7735 - SAW Components Low-Loss Filter for Mobile Communication 942,5 MHz - EPCOS
2022-11-04 17:22:44
【沁恒微CH32V307评估板试用体验】SPI驱动ST7735时序
驱动LCD是单片常用外设之一,我这里书写SPI驱动后,驱动ST7735不成功,将驱动与时序附下,希望得到沁恒官网的支持:ST7735初始化
华仔stm32
2022-05-26 20:19:37
【LuckFox Pico 开发板免费试用】3. 通过fbtft点亮st7735屏幕
前言 本章使用fbtft添加spi lcd st7735/gc9306。 fbtft生成fb0设备,后续通过lvgl可以实现自定义界面绘制。 一、电路图 使用开发板的spi0的scl以及mosi
voidpbq
2023-11-14 21:08:15
72-7735
TENMA - 72-7735 - Handheld Digital Multimeter, 3999 Count, Mean Value, Auto, Manual Range, 3.75 Digit
2024-06-21 01:48:04
一次学会使用Adafruit IO平台!
Adafruit IO 是一个免费/付费的IoT 平台,提供数据云端化、图像化的服务整合,Adafruit IO 可以让用户自由定义云端的资料内容;
2022-11-22 16:16:19
Adafruit 电缆组件 — 原型开发优选线束解析
为什么选择 Adafruit? ● Adafruit 是开源硬件领域的重要玩家。 Adafruit Industries 成立于 2005 年,以提供电子元件、硬件套件、开发工具和学习资源著名。它不
2025-12-04 15:58:48
浅析Adafruit_NeoPixel常用库函数
初始化包含头文件#include 针对AVR单片机的特殊设置#ifdef __AVR__ #include// Required for 16 MHz Adafruit Trinket#endif
gXDhn
2021-07-13 07:44:54
探索Adafruit FONA MiniGSM:小巧模块的强大功能
探索Adafruit FONA MiniGSM:小巧模块的强大功能 一、引言 在电子设计的世界里,我们常常追求小巧、多功能的模块,以满足各种项目的需求。Adafruit FONA MiniGSM就是
2026-05-10 16:40:06
Adafruit的Microsoft MakeCode简介
其他块或驱动程序可以打包在github repo中并加载到通过添加软件包对话框进行编辑。软件包可以包含JavaScript,C ++,是的! ASM! https://makecode.adafruit.com/packages
2019-11-28 08:42:51
如何去编写Adafruit_NeoPixel库函数的程序代码
如何对Adafruit_NeoPixel常用库函数进行初始化?如何去编写Adafruit_NeoPixel库函数的程序代码?
gXDhn
2021-09-22 08:10:28
Adafruit Feather HUZZAH ESP8266编译时出错怎么解决?
Mac Catalina 10.15.1、Arduino 1.8.10、Adafruit Huzzah 刚刚对操作系统和 IDE 进行了全新安装(即在格式化的驱动器上),ndex.json
一曲作罢
2023-05-04 07:14:20
Adafruit Ultimate GPS模块的使用教程
我们在Adafruit商店中提供了几种不同的GPS模块,但是没有一个能够满足我们的所有愿望-这就是为什么我们设计了这个小小的GPS接线板。我们认为这是 Ultimate GPS模块,因此我们将其命名为。它具有您想要的一切以及更多的功能:
2019-11-27 11:13:55
使用Adafruit IO作为MQTT控制Raspberry Pi GPIO的AC设备
在本教程中,我们将使用 Adafruit IO 作为 MQTT 代理来控制连接到 Raspberry Pi GPIO 的 AC 设备。
2022-09-01 16:30:26
Adafruit Feather nRF52 Bluefruit的学习指南
是可能是由于预建的adafruit-nrfutil无法在Mac上运行。如果您的Mac早于MacOS,则二进制文件是在MacOS 10.13上生成的。请更新您的macOS,或者您可以在这里按照此仓库
2019-11-27 09:03:35
探索 Adafruit Trellis:开源背光键盘驱动系统
探索 Adafruit Trellis:开源背光键盘驱动系统 在电子设计领域,一款优秀的开源背光键盘驱动系统能为项目带来更多的可能性和便利性。Adafruit Trellis 就是这样一款值得关注
2026-05-10 16:15:09