【合宙ESP32C3 Arduino开发】第六篇:贪吃蛇,使用TFT_eSPI 驱动 合宙Air101 ST7735 LCD

本文介绍如何使用Arduino开发合宙ESP32C3上的贪吃蛇游戏,结合TFT_eSPI库驱动合宙Air101的ST7735 LCD模块。文章详细讲解了点坐标、贪吃蛇和食物的结构体定义,以及游戏初始化、绘制、移动和食物生成的代码实现。

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

忘记过去,超越自己

  • ❤️ 博客主页 单片机菜鸟哥,一个野生非专业硬件IOT爱好者 ❤️
  • ❤️ 本篇创建时间 2024-03-02❤️
  • ❤️ 本篇更新时间 2024-03-02❤️
  • 🎉 欢迎关注 🔎点赞 👍收藏 ⭐️留言📝
  • 🙏 此博客均由博主单独编写,不存在任何商业团队运营,如发现错误,请留言轰炸哦!及时修正!感谢支持!

合宙ESP32C3 Arduino开发付费专栏群 689271933,不喜勿加,凭借付费专栏订单号加入

1. 前言

在前篇中,我们学习了 TFT_eSPI 驱动 合宙Air101 ST7735 LCD,这一节我们来学习一下基于它基础上做一个贪吃蛇。

【合宙ESP32C3 Arduino开发】第三篇:TFT_eSPI 驱动 合宙Air101 ST7735 LCD

因为刚刚好这个lcd模块上有上下左右中按键。我们可以利用中间按键来做复位,然后上下左右做方向按键。

### ESP32-C3 使用 Arduino 框架与 TFT_eSPI 库时屏幕中途无显示解决方案 #### 一、检查硬件连接 确保所有连线正确无误,特别是 SPI 接口的连接。对于 ST7735S 显示屏,应遵循如下连接方式: - GND 连接到 ESP32 的任意 GND 引脚 - VCC 连接到 ESP323.3V 或者 5V 输出引脚(推荐使用 3.3V) - SCL (时钟线) 连接到 ESP32 的 GPIO02(SPI CLK) - SDA (数据线) 连接到 ESP32 的 GPIO03(SPI MOSI) - RES (复位线) 连接到 ESP32 的 GPIO10 - DC (数据/命令选择线) 连接到 ESP32 的 GPIO06 - CS (芯片选择线) 连接到 ESP32 的 GPIO07 - BLK (背光源控制线) 可选连接到 ESP32 的 GPIO11[^3] #### 二、软件配置调整 如果遇到屏幕中途停止显示的情况,可能是由于使用的库版本或平台工具链版本过高导致兼容性问题。尝试降低 esp32 平台版本至 2.0.14 和 TFT_eSPI 版本降至 2.5.0 来解决问题[^2]。 另外,在初始化 `TFT_eSPI` 对象之前可以增加一些设置来优化性能并减少潜在错误的发生几率: ```cpp #define LOAD_GLCD false #define LOAD_FONT8 true #define LOAD_GFX false #include <Arduino.h> #include <TFT_eSPI.h> // 创建一个名为tft的对象实例化类TFT_eSPI() TFT_eSPI tft = TFT_eSPI(); void setup(void){ Serial.begin(115200); // 初始化LCD驱动器 if (!tft.init()) { Serial.println("INIT FAIL"); while (1); } // 设置旋转方向 tft.setRotation(0); // 填充整个屏幕为蓝色作为背景颜色 tft.fillScreen(TFT_BLUE); // 定义文本位置坐标(x,y),字体大小以及前景色 tft.setCursor(20, 10); tft.setTextColor(TFT_WHITE); tft.setTextSize(2); // 打印字符串到屏幕上 tft.print("Hello ST7735!"); } void loop(){ } ``` 上述代码片段展示了如何通过修改宏定义和添加必要的调试语句来进行更稳健的应用程序构建[^1]。 #### 三、其他建议措施 当发现屏幕突然失去响应时,还可以考虑以下几种方法进一步排查原因: - 尝试不同的电源供应源,确认是否有足够的电流供给; - 测试不同类型的 SD 卡或其他存储介质(如果有涉及外部文件读取); - 更新固件前备份当前工作环境中的重要资料; - 查看日志输出寻找异常提示信息;
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

单片机菜鸟哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值