Фон «статичный» на боковой стороне TFT-экрана?

Недавно я купил TFT-экран XC4629 128x128 и заметил, что отсутствие инициализации фона для экрана приводит к появлению помех RBG.

Красная линия, нарисованная на экране без фона:

Однако проблема в том, что когда я инициализировал фон, «статика» осталась на 3–4 пикселях по краю экрана:

Вот код, который я использовал:

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

 #define CS   10
 #define DC   9
 #define RESET  8  

 TFT myScreen = TFT(CS, DC, RESET);

 void setup(){
   myScreen.begin();  
   myScreen.background(0,0,0);
 }

 void loop(){
   myScreen.stroke(255, 0, 0); 
   myScreen.line(0, 128, 128, 10); 
 }

Это проблема с самим экраном? Я поискал в интернете и не нашел похожих проблем. Из-за поведения это похоже на проблему кода, но я сделал это максимально просто и поэкспериментировал и обнаружил, что проблема исчезает только если я удаляю сигнал и просто оставляю экран только на подсветке. Я также дважды проверил, что все провода находятся в правильных слотах (как ссылаясь на код, так и на техническое описание экрана).

Заранее большое спасибо.

, 👍0


1 ответ


1

Это будет проблема с используемой вами библиотекой. Не все экраны, использующие один и тот же CoG, подключены совершенно одинаково. Часто CoG, поддерживающий большее количество столбцов, используется с экраном, у которого не так много столбцов (в данном случае 132), а сам экран размещается со смещением в пределах доступных столбцов, и производитель экрана решает, где находится это смещение.

Поэтому библиотека должна инициализировать CoG с тем, где экран фактически находится в пределах его физического диапазона столбцов, и ваш экран отличается от того, что ожидает библиотека. Если посмотреть на библиотеку TFT, поставляемую в комплекте с IDE, большинство конфигураций экрана, похоже, накладывают смещение на пару пикселей в столбцах, чего вы не хотите.

Я бы посоветовал изучить другие библиотеки TFT, такие как UTFT, которые могут обеспечить лучший контроль над параметрами экрана.

,