Arduino开发-TFT_eSPI库学习

本文详细介绍TFT_eSPI库的安装配置及常用API。包括配置文件详解、SPI驱动介绍、初始化过程、文字图片绘制方法及Sprite类使用技巧。适合初学者快速掌握TFT_eSPI库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TFT_eSPI库学习

TFT_eSPI库是通过SPI方式驱动LCD屏幕的一个Arduino库,并且支持PlatformIOIDE一键下载使用。对于Arduino模式开发的屏幕开发既便捷又稳定。
同时LVGLGUI开发的底层驱动接口也是使用TFT_eSPI库的API。

TFT_eSPI库安装以及配置

基于PlatformIO IDE 讲解。

在这里插入图片描述

首先在Libraries里面搜索安装TFT_eSPI库到你的工程文件里面。

在这里插入图片描述

TFT_eSPI库文件目录

文件目录
最重要的几个文件(夹):
  • TFT_Drivers
  • User_Setups
  • User_Setup_Select.h
  • User_Setup_.h

这几个文件是最基本的配置文件(夹),因为不同的LCD屏幕所用的驱动芯片型号和RGB调色模式是不同的。所以在安装完库后,我们第一步就需要根据自己LCD屏幕的具体参数在配置文件里面进行相应的修改

TFT_eSPI是基于SPI通信的图形驱动库,所以,使用时需要芯片支持SPI通信,并且确保工程中已经引入了Arduino的 SPI.h 等SPI通信的库文件。

在这里插入图片描述

配置文件

有两种方法,一种就是通过User_Setup_.h进行配置,可以配置驱动型号以及所有需要修改的信息。
另一种就是在User_Setup_Select.h中先选择驱动芯片型号,然后在TFT_Driver文件夹中的驱动配置文件中配置各种信息。

1.User_Setup_.h
  1. 首先选择驱动型号 如:#define ST7789_2_DRIVER ,将注释去掉即可。在这里插入图片描述

  2. 配置屏幕大小
    .

  3. 设置GBR显示的LCD屏幕的显示转换在这里插入图片描述

  4. 配置引脚
    文件中已经定义好了可以使用的引脚,如果需要修改的话,取消注释后修改相应引脚的值即可在这里插入图片描述

  5. 配置SPI速率
    设置SPI的通信速率,根据硬件芯片的性能设置(一般保持默认即可)
    在这里插入图片描述

2. User_Setup_Select.h

对于学习,小作品开发不推荐,最好在User_Setup.h中进行配置,便于修改和查找。

  1. 直接在文件中取消LCD驱动芯片的头文件注释即可。引脚定义按照默认,或者在文件中进行修改(没有使用过)。
3. Rotation.h- 镜像设置
//屏幕选择函数
TFT_eSPI tft = TFT_eSPI();
tft.setRotation(4);//1-3是90度到270度旋转
/*
要实现镜像的话
需要在驱动的Rotation.h里面进行设置
在switch语句中添加case 4选项
代码如下
*/
   case 4: // Inverter portrait & Mirror Y
#ifdef CGRAM_OFFSET
	if (_init_width == 135)
	{
   
		colstart = 53;
		rowstart = 40;
	}
	else
	{
   
		colstart = 0;
		rowstart = 0;
	}
#endif
	writedata(TFT_MAD_MX | TFT_MAD_COLOR_ORDER);

	_width = _init_width;
	_height = _init_height;
	break;
/*
然后使用函数tft.setRotation(4);即可。
*/

TFT_eSPI库常用API

初始化

  1. 屏幕对象实例化
TFT_eSPI::TFT_eSPI(int16_t w, int16_t h)
//设定屏幕大小
TFT_eSPI tft = TFT_eSPI(240, 240);

参数:宽度和高度

  1. 初始化
tft.init();
  1. 设置屏幕方向
tft.serRotation(3);

参数为:0, 1, 2, 3 分别代表 0°、90°、180°、270°,可设置4为镜像。

  1. RGB颜色转GBR565
uint16_t TFT_eSPI::color565(uint8_t r, uint8_t g, uint8_t b)
// 颜色转换
uint16_t yellow = tft.color565(255, 255, 0);
tft.setTextColor(yellow); //
  1. 清屏函数
void TFT_eSPI::fillScreen(uint32_t color)
//清理屏幕 默认颜色,可以设置不同的颜色
tft.fillScreen(TFT_BLACK);

常用函数

1. eSPI类
文字
void TFT_eSPI::setTextSize(uint8_t s)
//设置字体大小为2
tft.setTextSize(2);

void TFT_eSPI::setTextColor(uint16_t c)
//字体颜色 绿色
tft.setTextColor(TFT_GREEN);

void TFT_eSPI::setCursor
好的,我会为您讲解在Arduino中使用TFT_eSPI编程驱动LCD显示的实验过程,以下是详细步骤: 1. 准备材料 你需要准备以下材料: - Arduino开发- 2.4寸TFT LCD屏幕 - 杜邦线 - 电位器 - 4.7K电阻 2. 连接电路 将LCD屏幕连接到Arduino开发板上,具体如下: - 将LCD屏幕的VCC接到Arduino的3.3V引脚上 - 将LCD屏幕的GND接到Arduino的GND引脚上 - 将LCD屏幕的CS引脚接到Arduino的D10引脚上 - 将LCD屏幕的DC引脚接到Arduino的D9引脚上 - 将LCD屏幕的MOSI引脚接到Arduino的D11引脚上 - 将LCD屏幕的SCK引脚接到Arduino的D13引脚上 - 将LCD屏幕的RST引脚接到Arduino的D8引脚上 - 将电位器的中间引脚接到LCD屏幕的A0引脚上,将电位器的两个端口接到GND和3.3V引脚上,用来控制屏幕亮度 3. 安装TFT_eSPIArduino IDE中打开“工具”菜单,选择“管理”,搜索TFT_eSPI并安装。 4. 编写程序 以下是一个简单的程序,用于在LCD屏幕上显示一些文本: ```c++ #include <TFT_eSPI.h> TFT_eSPI tft = TFT_eSPI(); void setup() { tft.begin(); tft.setRotation(1); // 设置屏幕方向 tft.fillScreen(TFT_BLACK); // 填充黑色背景 tft.setTextColor(TFT_WHITE); // 设置字体颜色 tft.setTextSize(2); // 设置字体大小 tft.setCursor(0, 0); // 设置文本位置 tft.println("Hello, World!"); // 显示文本 } void loop() { } ``` 5. 上传程序 将程序上传到Arduino开发板上。 6. 查看LCD屏幕显示 在Arduino开发板上加电,等待程序启动后即可在LCD屏幕上看到显示的文本。 以上就是在Arduino中使用TFT_eSPI编程驱动LCD显示的实验过程。
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值