Начиная новые строки с Arduino TFT - PullRequest
0 голосов
/ 24 сентября 2019

Я экспериментирую с записью на 1,8-дюймовом TFT-дисплее. Я пытаюсь, чтобы MCU записывал каждую строку и начинал новую строку после достижения указанного «дна» экрана, но записывает следующеестрока вместо следующей строки, как показано ниже.

BlahBlahBlahBlah
Blah
Blah
Blah
Blah
Blah

В то время как я ищу

BlahBlahBlahBlah
BlahBlahBlahBlah
BlahBlahBlahBlah
BlahBlahBlahBlah
BlahBlahBlahBlah

Из того, что я могу сказать, оператор if не сбрасывается, поэтомуПрограмма записывает и устанавливает курсор наверх в следующей строке.

Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST);

int lineNumber = 1;
int rowNumber = 1;

void setup(void) 
{

  tft.initR(INITR_BLACKTAB);
  tft.fillScreen(ST77XX_BLACK);

  while (rowNumber <= 5)
  {
    if (lineNumber > 15)
    {
      tft.setCursor(25*rowNumber, 0);
      rowNumber++;
      lineNumber = 1;
    }

    tft.println("Blah");
    lineNumber++;


  }
}

1 Ответ

0 голосов
/ 25 сентября 2019

Я нашел обходной путь.Вместо того, чтобы использовать функцию println (), я использовал функцию print () и явно установил курсор туда, где я хотел.Показано ниже.

 for (int rowNumber = 0; rowNumber <= 4; rowNumber++)
   {
 tft.setCursor(25*rowNumber,0);

for (int lineNumber = 0; lineNumber <= 15; lineNumber++)
     {
  tft.setCursor(25*rowNumber, 7*lineNumber);
  tft.print("blah");

  Serial.println(lineNumber);
     }
   }
...