Два дисплея ILI9341 IPS на одной шине.
- Войдите на сайт для отправки комментариев
Dctv здравствовать! Приобрел пару вот таких дисплейчиков
Как видно, отсутствует вывод CS. По распиновке он пятый на шлейфе, запаян на GND; и т.к. вывод MISO использовать не планирую, решил его переделать в CS, отрезав его от GND и MISO от шлейфа:
Так вот нет реакции на CS: даже с отключенным CS дисплей стартует. А при подключении двух дисплеев, оба выводят одну картинку. (MOSI, RST, DC, SCK параллельно, CS у каждого свой)
#include <SPI.h>
#include <ILI9341_due_config.h>
#include <ILI9341_due.h>
#include "fonts/Arial_bold_14.h"
#define TFT_RST 4
#define TFT_DC 5
#define TFT_CS 6
#define TFT_CS2 7
ILI9341_due tft = ILI9341_due(TFT_CS, TFT_DC, TFT_RST);
ILI9341_due tft2 = ILI9341_due(TFT_CS2, TFT_DC, TFT_RST);
void setup()
{
//Serial.begin(9600);
tft.begin();
//Serial.print("TFT begin successful: ");
//Serial.println(result ? "YES" : "NO");
tft.setRotation(iliRotation90);
tft.fillScreen(0xFFE0);
tft.setFont(Arial_bold_14);
tft.setTextLetterSpacing(5);
tft.setTextColor(0x0000, 0xFFE0);
tft.printAligned(F("Hello World"), gTextAlignMiddleCenter);
tft2.begin();
tft2.setRotation(iliRotation90);
tft2.fillScreen(0x0000);
tft2.setFont(Arial_bold_14);
tft2.setTextLetterSpacing(5);
tft2.setTextColor(0xFFE0, 0x0000);
tft2.printAligned(F("Hello World"), gTextAlignMiddleCenter);
}
void loop()
{
/* add main program code here */
}
Из чего делаю вывод, что вывод CS конкретно на этих дисплеях не работает.
На шине будут висеть еще пара устройств DAC и ADC. Изначально планировалось использовать 3.2 TFT ili9341 (с ним все отлично работает), но уж больно хороша картинка у этих. И так как один большой IPS с несложным запуском найти не получилось, решил использовать два поменьше. И тут такой облом, запуск одновременно двух невозможен.
Есть ли какой вариант победить? Может мультиплексор SPI? Если кто сталкивался, подскажите.



Я что-то не увидел в коде, где Вы переключаете CS.
По логике, если на дисплее использование этого пина не предусмотрено, то и библиотека вряд ли будет заниматься его переключением. Следовательно, об этом должен заботиться Ваш код.
Ну и, опять же, что показывает логический анализатор?
Я что-то не увидел в коде, где Вы переключаете CS.
По логике, если на дисплее использование этого пина не предусмотрено, то и библиотека вряд ли будет заниматься его переключением. Следовательно, об этом должен заботиться Ваш код
Заработало, нужно было сделать не только отдельный CS, но и REST.
Загнал код в loop - поочередно экранчики прорисовываются.