// STM32 Nucleo-C031C6 驱动 SPI 接口 TFT LCD 屏幕示例
// 仿真地址:https://wokwi.com/projects/365549388158011393
// 引入 SPI 通信库(用于和屏幕通信)
#include "SPI.h"
// 引入 Adafruit 图形显示核心库
#include "Adafruit_GFX.h"
// 引入 ILI9341 驱动库(驱动 2.4寸 TFT 彩屏)
#include "Adafruit_ILI9341.h"
// 定义 LCD 的 数据/命令 控制引脚
#define TFT_DC 2
// 定义 LCD 的 片选 控制引脚
#define TFT_CS 3
// 创建 TFT 屏幕对象,传入片选和DC引脚
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);
/**
* @brief 初始化函数,上电只执行一次
*/
void setup() {
// 初始化串口波特率 115200,用于调试输出
Serial.begin(115200);
// 串口打印问候语
Serial.println("Hello, WOKWI");
// 初始化 ILI9341 TFT 显示屏
tft.begin();
// 设置文本光标位置:X=20, Y=120
tft.setCursor(20, 120);
// 设置文本颜色:红色
tft.setTextColor(ILI9341_RED);
// 设置文本大小:3号字体(放大3倍)
tft.setTextSize(3);
// 在屏幕上打印文字
tft.println("Hello STM2");
// 设置新的光标位置:X=24, Y=160
tft.setCursor(24, 160);
// 设置文本颜色:绿色
tft.setTextColor(ILI9341_GREEN);
// 设置文本大小:2号字体
tft.setTextSize(2);
// 打印第二行文字
tft.println("I can do SPI :-)");
}
/**
* @brief 主循环,重复执行
* 本示例只需要显示一次文字,因此循环里只做延时,不执行其他操作
*/
void loop() {
delay(10);
}