Lgt8f328p не работает на ili9341

Тема в разделе "Arduino & Shields", создана пользователем geniv82, 23 апр 2025.

  1. geniv82

    geniv82 Нерд

    Здравствуйте, проблема с работой кода на LGT8F328P, точнее полная не работа кода. Пример "Adafruit ILI9341 graphicstest" нормально работает на arduino nano. При компиляции и заливки этого примера в LGT8F328P на ILI9341 белый экран. На базе примера Adafruit нарисовал картинку, которая на arduino работает, а на LGT8F328P не работает. Плату для LGT8F328P установил, другой проект - часы из дисплея покупателя на ней работает. Что посоветуете? Оставить плату для мигания светодиодом, или есть варианты? Просто arduino тратить только для показа картинки жалко. В коде после каждой палки вывожу в монитор - в мониторе программа работает, а на ILI9341 белый экран. Уровни согласованы. Пробовал питать всё от 3,3 V - бесполезно. В нете похожей проблемы не нашёл.
    #include "SPI.h"
    #include "Adafruit_GFX.h"
    #include "Adafruit_ILI9341.h"

    #define TFT_CS 10
    #define TFT_DC 9
    #define TFT_RST 8
    //#define TFT_MOSI 11 // Data out
    //#define TFT_SCLK 13 // Clock out
    //#define TFT_MISO 12 // Data in

    //Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_RST, TFT_MOSI, TFT_SCLK, TFT_MISO);
    Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_RST);

    void setup() {
    Serial.begin(9600);
    Serial.println("ILI9341 Test!");

    tft.begin();
    tft.setRotation(3); //поворот экрана
    tft.fillScreen(ILI9341_BLACK); //заливка экрана можно цвет в RGB (0x0000) - чёрный, (0xFFFF) - белый
    Serial.println("ILI9341_BLACK 1!");
    int w, i, i2, x, y,
    z = tft.width(),
    h = tft.height(),
    cx = tft.width() / 2 - 1,
    cy = tft.height() / 2 - 1;

    for(y=0; y<h; y+=5) tft.drawFastHLine(0, y, z, h);
    for(x=0; x<z; x+=5) tft.drawFastVLine(x, 0, z, h);
    Serial.println("ILI9341 2!");
    delay(200);

    w = min(tft.width(), tft.height());

    for(i=0; i<w; i+=6) {
    i2 = i / 2;
    tft.drawRoundRect(cx-i2, cy-i2, i, i, i/6, tft.color565(i, 0, 0));
    }
    Serial.println("ILI9341 3!");
    delay(400);

    tft.setCursor(140,13);
    tft.setTextColor(ILI9341_CYAN);
    tft.setTextSize(6);
    tft.println("|");

    tft.setCursor(140,46);
    tft.setTextColor(ILI9341_CYAN);
    tft.setTextSize(6);
    tft.println("|");

    delay(200);

    tft.setCursor(153,13);
    tft.setTextColor(ILI9341_CYAN);
    tft.setTextSize(6);
    tft.println(">");

    delay(200);

    tft.setCursor(153,46);
    tft.setTextColor(ILI9341_CYAN);
    tft.setTextSize(6);
    tft.println(">");

    delay(200);

    tft.setCursor(123,26);
    tft.setTextColor(ILI9341_CYAN);
    tft.setTextSize(7);
    tft.println(">");
    Serial.println("ILI9341 4!");
    delay(200);

    tft.setCursor(53,100);
    //tft.setTextColor(ILI9341_BLUE);
    tft.setTextColor(0x81ff);
    tft.setTextSize(4);
    tft.println("Bluetooth");
    Serial.println("ILI9341 5!");
    delay(100);

    tft.setCursor(53,140);
    tft.setTextColor(ILI9341_GREEN);
    tft.setTextSize(4);
    tft.println("ACTIVATED");
    Serial.println("ILI9341 6!");
    delay(100);

    tft.setCursor(97,195);
    tft.setTextColor(ILI9341_CYAN);
    tft.setTextSize(3);
    tft.println("XFW-M18");
    Serial.println("ILI9341 ВСЁ!");
    }

    void loop() {
    }
     
  2. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Если какой-то проект на LGT8F328P таки выводит картинку на дисплей - выложьте его сюды. Сравним, покумекаем.