0

我正在尝试在 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++;


  }
}
4

1 回答 1

0

我找到了解决方法。我没有使用 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);
     }
   }
于 2019-09-24T22:25:47.073 回答