from machine import Pin, SPI
import time
import ili9341
from xglcd_font import XglcdFont # 必须导入字体驱动
# 1. 配置引脚 (需与 diagram.json 一致)
SCK_PIN = 15
MOSI_PIN = 7
DC_PIN = 6
RST_PIN = 5
CS_PIN = 4
# 2. 初始化硬件 SPI
# ESP32-S3 的硬件 SPI 通常使用 SPI(1)
spi = SPI(1, baudrate=40000000, sck=Pin(SCK_PIN), mosi=Pin(MOSI_PIN))
# 3. 初始化驱动
# 注意:一定要传入 rst 引脚,驱动内部会执行硬件复位
display = ili9341.Display(spi, dc=Pin(DC_PIN), cs=Pin(CS_PIN), rst=Pin(RST_PIN))
print("开始测试屏幕...")
font = XglcdFont('Unispace12x24.c', 12, 24)
# 3. 正确调用 draw_text (传入 5 个显式参数)
display.draw_text(10, 10, 'Hello ESP32-S3!', font, ili9341.color565(255, 255, 255))
while True:
pass
# # 4. 循环刷屏测试
# colors = [
# ili9341.color565(255, 0, 0), # 红色
# ili9341.color565(0, 255, 0), # 绿色
# ili9341.color565(0, 0, 255), # 蓝色
# ili9341.color565(255, 255, 255) # 白色
# ]
# while True:
# for c in colors:
# display.clear(c)
# print("当前颜色已切换")
# time.sleep(1)