2016-05-04 120 views
0

我最近从aliexpress获得了一个支持SPI并使用ILI9341的TFT LCD。ESP8266 Arduino 2.2 TFT ILI9341

这是一个。 TTT ILI9341

我有ESP8266 EspressoLite 1板,我使用ESP8266 Arduino。 (https://github.com/esp8266/Arduino

我作了如下连接:

我作了如下连接:SCK#14,MOSI#13,MISO#12,CS,#4,DC#5,RESET#0

并使用示例graphicTest(可在Adafruit_ILI9341-主文件夹中找到)。我能够使显示器工作几秒钟。在图形测试中,一旦线路测试开始,我的ESP8266重新启动。这是重复。

在我现有的项目,我用下面的代码只是显示一些消息:

Adafruit_ILI9341 tft = Adafruit_ILI9341(4, 5, 13, 14, 0, 12); 
    tft.begin() 
    tft.fillScreen(ILI9341_BLACK); 
    tft.setCursor(0, 0); 
    tft.setTextColor(ILI9341_GREEN); tft.setTextSize(4); 
    tft.println(message); 

显示该消息一旦响应从ESP送回。这工作了几次,然后再次卡住并重新启动。

我不确定我是否正在为此LCD使用针对ESP8266的优化库或者是否有这样的优化库。

我在论坛阅读,可以看到ESP8266 Arduino中有一些adafruit库,但现在它不可用,只有一些TFT_Touch_Shield_V2存在。

有没有人遇到同样的问题,或者可以告诉我一个更好的方法来使这个显示器与ESP8266 Arduino一起工作。

在此先感谢。 !

+0

只需进行快速检查以确保:此芯片是否具有硬件看门狗,并且您是禁用它还是正确地重置它? –

+0

您可以发布串行输出,异常和重新启动消息吗?芯片每次重新启动时都会记录重置原因,异常(如果有)以及其他信息。 –

回答

0

即使我有同样的问题。 有一个名为'UTFT'的库,可以在设备上正常工作。尝试使用库。这对esp和ILI9341来说是最好的。

0

此外,您可以尝试在两者之间使用delay()或yield()函数。 当一个循环需要很长时间来处理时,esp8266可能会由于看门狗而自行重启。