TFT 屏幕的使用——ESP32学习笔记(番外)

news/2025/2/19 5:47:06/

零、前言

 

最近在搞tft屏幕,遇到了非常多的困难,这个笔记主要帮助的是和我一样比较小白的单片机初学者,在这里我用到的板子是ESP32,用的屏幕是单工SPI通信协议的一块屏幕。

 一、准备工作

在这里我们准备写入驱动程序,这块屏幕用到的驱动时ST7735,所以把不用的全部注释掉,具体的配置这里不再过多解释,关键是设置引脚的连接。

查阅乐鑫官方的文档我们就可以知道,那些引脚可以作为SDA(数据传输),CS(片选),SCK(时钟线),DC(指令选择引脚),注意,ESP32的6到11号引脚虽然可以传输数据,但是一般不用,因为这些引脚是要用于flash的数据传输的

// For ESP32 Dev board (only tested with GC9A01 display)
// The hardware SPI can be mapped to any pins
// #define TFT_MISO 19
// #define TFT_MOSI 21
// #define TFT_SCLK 22
// #define TFT_CS   5
// #define TFT_DC   25
// #define TFT_RST  26#define TFT_MOSI 15 // In some display driver board, it might be written as "SDA" and so on.
#define TFT_SCLK 14
#define TFT_CS   5  // Chip select control pin
#define TFT_DC   25  // Data Command control pin
#define TFT_RST  26  // Reset pin (could connect to Arduino RESET pin)
#define TFT_BL   22  // LED back-light//#define TOUCH_CS 21     // Chip select pin (T_CS) of touch screen//#define TFT_WR 22    // Write strobe for modified Raspberry Pi TFT only// For the M5Stack module use these #define lines
//#define TFT_MISO 19
//#define TFT_MOSI 23
//#define TFT_SCLK 18
//#define TFT_CS   14  // Chip select control pin
//#define TFT_DC   27  // Data Command control pin
//#define TFT_RST  33  // Reset pin (could connect to Arduino RESET pin)
//#define TFT_BL   32  // LED back-light (required for M5Stack)

 这里要注意,你使用的屏幕上面有哪几个引脚就选用哪种方法,把其他的不用的全部注释掉。然后ESP32可以连接屏幕的引脚组合非常多,接到那个引脚把后面的引脚改一下,就可以正常驱动了,再然后就是利用arduino或者plantformio进行编程,这里写一下常用的函数,做一个总结:

    tft.init();                                               //初始化tft.fillScreen(TFT_WHITE);                //屏幕颜色tft.setCursor(1, 10, 2);                        //设置起始坐标(10, 10),2 号字体tft.setTextColor(TFT_BLUE);             //设置文本颜色为白色tft.setTextSize(1);                               //设置文字的大小 (1~7)tft.println("Two roads diverged in a wood,and ");                  //显示文字tft.drawLine(10,50,118,50,TFT_WHITE);            //画线tft.drawPixel(70,70,TFT_RED);//画点tft.setTextColor(TFT_WHITE,TFT_BLUE);//设置文字颜色和背景颜色

参考文档:

esp32-wroom-32_datasheet_cn.pdf (espressif.com)(ESP32技术规格书)


http://www.ppmy.cn/news/905193.html

相关文章

嵌入式Linux驱动笔记(二十四)------framebuffer之使用spi-tft屏幕(上)

你好!这里是风筝的博客, 欢迎和我一起交流。 最近入手了一块spi接口的tft彩屏,想着在我的h3板子上使用framebuffer驱动起来。 我们知道: Linux抽象出FrameBuffer这个设备来供用户态进程实现直接写屏。Framebuffer机制模仿显卡的功…

[个人笔记] WinSrv批量添加DNS记录和条件转发器记录

Windows Server - 运维篇 第三章 WinSrv批量添加DNS记录和条件转发器记录 Windows Server - 运维篇系列文章回顾WinSrv批量添加DNS记录和条件转发器记录单条记录添加DNS条件转发器记录批量新增DNS条件转发器记录批量导出DNS条件转发器 参考来源 系列文章回顾 第一章 域控使用C…

Arduino UNO驱动合宙1.8‘TFT SPI屏幕示例演示(含资料包)

Arduino UNO驱动合宙1.8"TFT SPI屏幕示例演示 效果展示 驱动参考资料包 来源于:http://www.lcdwiki.com/zh/1.8inch_Arduino_SPI_Module_ST7735S_SKU:MAR1801资料包中2种驱动方式:模拟SPI和硬件SPI驱动方式 1.8inch Arduino SPI Module ST7735S…

linux驱动tft屏幕,Linux2.6.26.5加入TFT-LCD驱动

首先下载内核源码,我这里用的是linux-2.6.26.5的内核源码。本文引用地址:http://www.eepw.com.cn/article/148334.htm (1) 在arch/arm/mach-s3c2410/mach-smdk2410.c里添加头文件: #include (2) 在arch/arm/ plat-s3c24xx / commON-smdk.c文件…

microPython驱动tft屏幕显示中文终极解决方案

microPython驱动tft屏幕显示中文终极解决方案 一、运行效果 二、实现原理 原理同上篇文章一样,用在线汉字取模工具获取点阵的字节信息,通过st7789py.py驱动程序显示出来。 上次的程序只能显示部分汉字,需要显示哪些字自己去在线网站取模&a…

STM32驱动ST7789V2 tft屏幕

一 . 简介 本次教程使用的是1.54寸240*240像素的tft屏幕,其接口协议为SPI协议。在使用的过程中仅需要四根数据即可驱动点亮屏幕。然后硬件使用的是STM32F103C8T6核心板,用的是SPI2。一般购买屏幕的话它们会提供对应的例程,直接拿过来修改即可…

TFT屏幕使用(CUBEMX+SPI)

目 录 1.SPI 2.SPIDMA 1.SPI 使用SPI通信协议的器件有很多,这里以TFT屏驱动为ST7735为例。 设置SPI,因为我使用的是STM32F107ZGT的板子所以我的SPI 速度能达到 42M,还需要设置其它的控制引脚。 引脚设置如下所示。 /*GPIO的宏定义…

OLED TFT屏幕相关

文章目录 0.tft espi1.oled1.1 字体4.2 模拟spi oled4.3 IIC oled 2ips tft 0.tft espi 镜像设置 1.oled 1.1 字体 1206-----1608-------2412 4.2 模拟spi oled 我用阿里云盘分享了「OLED」,你可以不限速下载🚀 复制这段内容打开「阿里云盘」App 即…