// STM32 Nucleo-C031C6 SPI LCD Example
// Simulation: https://wokwi.com/projects/365549388158011393
#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_ILI9341.h>
#include "image.h"
// 引脚(你原来的正确引脚)
#define TFT_CS PB3
#define TFT_DC PA10
#define TFT_RST -1
Adafruit_ILI9341 tft(TFT_CS, TFT_DC, TFT_RST);
void setup() {
Serial2.begin(9600);
while (!Serial2);
Serial2.println("准备输入:");
tft.begin(20000000);
tft.setRotation(0);
tft.fillScreen(ILI9341_WHITE);
delay(10);
// 图片居中显示
int imgX = (240 - IMG_W) / 2;
tft.drawRGBBitmap(imgX, 20, image_data, IMG_W, IMG_H);
// 文字
tft.setTextSize(2);
tft.setTextColor(ILI9341_BLACK, ILI9341_WHITE);
tft.setCursor(10, 110);
tft.print("Input word:");
}
void loop() {
if (Serial2.available()) {
String text = Serial2.readStringUntil('\n');
text.trim();
if (text.length() > 0) {
tft.fillRect(10, 140, 220, 40, ILI9341_WHITE);
tft.setTextSize(3);
tft.setTextColor(ILI9341_BLACK, ILI9341_WHITE);
tft.setCursor(10, 140);
tft.print(text);
Serial2.print("Displayed: ");
Serial2.println(text);
}
}
}