ST7789 1.14'' и Arduino Nano низкий FPS

да он нужен только на стадии инициализации дисплея, поэтому скорее нет чем да

за что же не боясь греха кукушка хвалит петуха…

А “петух” то что хотел сказать?
Что комбинацией этих выводов контролёр дисплея начинает общаться по интерфейсу SPI, все?

@Kakmyc принято.
Я почитаю более детально, мы разошлись в модулях дисплеев и их контроллерах.
Как я соскользнул))

Да, посмотрел я даташит на этот ST7789, есть там режим 3-line interface, точнее их там даже 2.
Одна из этих 3-line нам не нужна, это ChipSelect.
Из оставшихся:
Mode 1 подразумевает подключение по линиям DCX(clock) и SDA(data in/out)
Mode 2 , тот же DCX, но линия ввод/вывод поделилась на SDA и SDO.

Так же два режима для подключения 4-line interface. Вот они уже подразумевают наличие линии и WRX(data/command)

А всего режимов подключения у этого дисплея ВОСЕМЬ.

  1. 16bit parallel
  2. 8-bit parallel
  3. 18-bit parallel
  4. 9-bit parallel
  5. 3-line serial 1
  6. 4-line serial 1
  7. 3-line serial 2
  8. 4- line serial 2

Последовательные интерфейсы характеризуются как:
3-line/9bit
4-line/8bit
В MODE1 линия данных двунаправленная, в MODE2 линий две in/out

Для выбора режима работы предусмотрено 4 вывода “interface mode” IM0 … IM3.

Так что, все в первую очередь зависит от того что там и как китайцы на модуле напаяли.
Но в любом случае никто не запрещает сделать реализацию работы по двум проводам.

В общем , как говорил мой бывший начальник:“Конструктор, в первую очередь, работает с документацией. А что потом у кого дальше по цепочке не получается и почему, это уже проблемы криворуких индейцев.”

И тем не менее, жду ответа ТС, помогла ли пересадка на аппаратный SPI.

Модуль отказывается что либо показывать, если подключить его на аппаратный spi.

И этот человек убеждает нас, что он сам сделал пробник

2 лайка

Дед, бригада сборщиков на автовазе, теперь тоже могут убеждать нас, что они сами сделали жигули.)))

Через тернии к звёздам…

//Arduino_ST7789 tft = Arduino_ST7789(TFT_DC, TFT_RST, TFT_MOSI, TFT_SCLK); //for display without CS pin
Arduino_ST7789 tft = Arduino_ST7789(TFT_DC, TFT_RST);//аппаратный spi

На уно другую библиотеку использовал. Arduino_ST7789_Fast.h

для аппаратного SPI надо указать Adafruit_ST7789(int8_t cs, int8_t dc, int8_t rst);

это да, некоторые даже по I2C можно будет подключить

Как бы SDA это не всегда I2C

тут то видно по подтяжкам, что это именно I2C. да и дисплей сильно распространённый

Adafruit_ST7789 TFT = Adafruit_ST7789(10, 8, 9);

Как выяснилось стандартный I2C не работал из этих настроек:

ACSR =  _BV(ACI)                    
        | _BV(ACIE)            
        | _BV(ACIS0) | _BV(ACIS1);   
                                     
  TCCR1A=0; TIMSK1 = 1<<TOIE1;        
  TCCR1A=1<<COM1A0;       
  TCCR1B=0;

И это грусть-печаль так как проект уже готов и я хотел к нему прикрутить красивый экран.

Первое. Покажи свою схему (всю не нужно, только часть с аппаратным SPI) подключения к дисплею и внешним (если они есть) компонентам.
Второе, у меня есть дисплей на st7789 на 1.8 дюйма, оно памяти жрёть пипец сколько - у тебя что за мк?

Поменяйте библиотеку как я писал выше. Дисплей Ваш SPI. На нано или уно толком только текст-цифры, графику цветную не потянут.

Я пробовал на

#include <Arduino_GFX_Library.h>

Ни как не получилось его завести на этой библиотеке.
Пробовал так:

Arduino_DataBus *bus = new Arduino_HWSPI(10 /* DC */, 8 /* CS */);
Arduino_GFX *TFT = new Arduino_ST7789(
  bus, 9 /* RST */, 0 /* rotation */, true /* IPS */,
  135 /* width */, 240 /* height */,
  52 /* col offset 1 */, 40 /* row offset 1 */,
  53 /* col offset 2 */, 40 /* row offset 2 */);

и так

Arduino_ST7789 TFT = Arduino_ST7789(10, 8, 9);

и так

Arduino_ST7789 TFT = Arduino_ST7789(10, 9);

Сейчас схема такая, мк обычная Arduino Nano


Код:

Adafruit_ST7789 TFT = Adafruit_ST7789(10, 8, 9);

откуда на Vin питание взялось это раз, дисплей точно 5 вольтовый?

Попробуй библиотеку отсюда:

https://duino.ru/tsvetnoy-tft-ips-displey-st7789-s-razresheniem-240x240/

У меня с ней всё запустилось сразу.