Мерцание изображения на TFT

Доброго времени суток. Программирую TFT и столкнулся с такой проблемой, что линия, которую я рисую мерцает на экране TFT. Можно ли как-то увеличить частоту?

#include <TFT.h>
#include <SPI.h>

#define CS   9
#define DC   3
#define RESET 5
TFT tft = TFT(CS, DC, RESET);

void setup() {
  Serial.begin(9600);
  pinMode(CS, OUTPUT);
  tft.begin();
}

void loop() {
  int t = 0;
  if(!t){
    digitalWrite(CS, HIGH);
    tft.background(255,255,255);
    tft.stroke(0,0,0);
    tft.line(0, 64, 1, 64 - 18);
    t = 1;
  }
}

Частоту чего? Мерцания? Какой смысл-то?

Нужно чтобы человеческий глаз не различал мерцания, а это достигается при увеличении частоты

А просто не делать лишний мерцаний - не пойдет?

А как это сделать?

Не нужно. Нужно просто не мерцать.

Вот скажите, НАХЕРА Вы постоянно затираете и снова перерисовываете свою линию, хотя она не изменилась? Не делайте этого, а перерисовывайте только тогда, когда она реально изменилась и ничего мерцать не будет. Для начала, добавьте хотя бы слово static в начало строки №16.

Если Вы только добавили static, то вопрос ни хрена не решён. Чтобы он был решён, Вам теперь надо взять учебник и выяснить что это слово означает и “когда и для чего” его нужно употреблять. Без этого, Вы не решили вопрос, а просто поставили заплатку.

1 лайк

Вы не понимаете физики явления. А “посему”:

1 лайк