tft_espi和nodemcu连接

本文详细介绍了如何使用Arduino IDE配置NodeMCU与TFT屏幕的连接,包括下载并安装tft_espi库,修改User_Setup.h文件以适配不同TFT屏幕,设置引脚连接,以及安装Esp8266开发板环境。

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

1、 下载tft_espi

https://github.com/Bodmer/TFT_eSPI

2、 解压后导入arduino根目录下的libraries

3、 打开User_Setup.h这个文件(推荐用notepad++打开,功能比较强大,可以打开很多类型文件)。从文件名就可以看出这个文件是要用户自己来修改的。

4、 根据自己的tft屏幕来修改,比如我的是st7735驱动,128*160

 

所以在打开的User_Setup.h文件中修改为这样:(从18行开始),将st7735前面的注释(“//”)去掉。其他的不要动。。。。不要动。。。。不要动。。。再动就打你。

5、 47行开始修改屏幕尺寸。根据自己的屏幕大小来修改。

 

6,接下来是tftnodemcu的引脚连接。从96行开始

Sck(时钟引脚)连接nodemcuD5SDI(数据引脚)连接nodemcu’D7DC(数据/命令引脚)连D3CS(片选引脚)连D8

我的tftSCLSDA, 名字不一样,连线一样

那么为什么要这么连呢?

可以看看安信可给出的官方文档中nodemcu的引脚图:

 

所以D5引脚的底层是HSCLK,代表时钟。D7引脚的底层是HMOSI,代表数据接收。

D6可以连接有触摸功能的tft

其实,nodemcu出场的固件是Lua固件,使用Lua语言编写的,直接对引脚(上图中GPIO标识的各个引脚)进行操作。如果要使用at指令,需要先给nodemcu烧录at固件。如果用Lua编写,则需要烧录Lua固件。所以是一一对应的。

安信可官网:https://wiki.ai-thinker.com/esp8266 提供串口调试助手、烧录工具、at固件、tcpudp助手等。

 

7、再从125行开始看,主要是csdc需要定义。做如下修改:

 

修改完以上内容后记得ctrl s保存。。。保存。。。。保存。。。

 

8、接下来打开arduino ide。需要修改开发环境。我的nodemcu需要esp-12E这个环境。 (文末提供开发环安装步骤。。。

 

9、之后打开tft_espi库中自带的examples,随便一个编译上传后即可验证是否有效。

 

 

 

Esp8266开发板环境在arduino ide的安装步骤:

1、链接:https://pan.baidu.com/s/1dlU3eY1R_RQhs54675qYOw  

提取码:vlop

2下载上面链接文件后解压,双击exe文件(如果不成功的话,右键以管理员身份运行就好),重启arduino ide。即可在工具中找到需要的开发环境。(注意开发板管理那一列最下面有一个黑色的三角符号,点开后即可显示更多的开发环境。)

如果在编译上传时 报以下错误,则证明 开发板环境 或者 端口号 有选对:

 warning: espcomm_sync failed
error: espcomm_open failed
error: espcomm_upload_mem failed
error: espcomm_upload_mem failed

 

 

好了。。。暂时更到这里。。。。拜拜。。。。。。。。。

 

In file included from c:\Users\17061\Documents\libraries\TFT_eSPI/User_Setup_Select.h:27, from c:\Users\17061\Documents\libraries\TFT_eSPI\TFT_eSPI.h:69, from c:\Users\17061\Documents\libraries\TFT_eSPI\TFT_eSPI.cpp:16: c:\Users\17061\Documents\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32.c: In member function 'bool TFT_eSPI::initDMA(bool)': c:\Users\17061\Documents\libraries\TFT_eSPI/User_Setup.h:171:19: error: 'PIN_D23' was not declared in this scope; did you mean 'PIN_D2'? 171 | #define TFT_MOSI PIN_D23 // Automatically assigned with ESP8266 if not defined | ^~~~~~~ c:\Users\17061\Documents\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32.c:791:20: note: in expansion of macro 'TFT_MOSI' 791 | .mosi_io_num = TFT_MOSI, | ^~~~~~~~ c:\Users\17061\Documents\libraries\TFT_eSPI/User_Setup.h:172:19: error: 'PIN_D18' was not declared in this scope; did you mean 'PIN_D8'? 172 | #define TFT_SCLK PIN_D18 // Automatically assigned with ESP8266 if not defined | ^~~~~~~ c:\Users\17061\Documents\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32.c:793:20: note: in expansion of macro 'TFT_SCLK' 793 | .sclk_io_num = TFT_SCLK, | ^~~~~~~~ c:\Users\17061\Documents\libraries\TFT_eSPI\TFT_eSPI.cpp: In member function 'void TFT_eSPI::initBus()': c:\Users\17061\Documents\libraries\TFT_eSPI/User_Setup.h:176:19: error: 'PIN_D15' was not declared in this scope; did you mean 'PIN_D5'? 176 | #define TFT_RST PIN_D15 // Reset pin (could connect to NodeMCU RST, see next line) | ^~~~~~~ c:\Users\17061\Documents\libraries\TFT_eSPI\TFT_eSPI.cpp:566:7: note: in expansion of macro 'TFT_RST' 566 | if (TFT_RST >= 0) { | ^~~~~~~ c:\Users\17061\Documents\libraries\TFT_eSPI\TFT_eSPI.cpp: In member function 'void TFT_eSPI::init(uint8_t)': c:\Users\17061\Documents\libraries\TFT_eSPI/User_Setup.h:172:19: error: 'PIN_D18' was
03-20
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

那个小白猿

讨杯可乐

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

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

打赏作者

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

抵扣说明:

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

余额充值