Здравствуйте. Помогите пожалуйста с подключением к ESP32 по 8-и битам.
Исходные данные такие: Win7pro x64, Arduino IDE 1.8.19, версия ядра ESP32 1.06 или 2.0.11, библиотека TFT_eSPI 2.5.34, User_Setup.h=Setup16_ILI9488_Parallel.h, User_Setup_Select.h - без изменений.
Дисплей работает на MEGA2560 с исправленной библиотекой UTFT . Использовал статью на arduino.ru
На дисплее: d0=PA0=pin22,.....,d7=PA7=pin29, RS=pin38, WR=pin39, CS=pin40, RST=41(MEGA 2560).
К ESP-WROOM-32 подключил согласно дефолтным данным из библиотеки TFT_eSPI. Кроме сигнала RD-на дисплее он не выведен на пины и в файле установок TFT_eSPI не прописан. Компиляция и загрузка примера UTFT_Demo_480x320 успешны, но результат - белый экран.
Пробовал другие пины ESP32, разные версии драйверов для параллельных дисплеев, ядра и библиотеки-белый экран.
Что не так? Или эти устройства принципиально не совместимы?
Спасибо.
А сам дисплей какой именно? И скинь еще код свой и как подключено в итоге к ESP32.
Благодарю Вас за желание помочь.
Дисплей как раз тот, что что по ссылке открывается, пост номер 5 той темы.
Там устранена неработоспособность этого экрана с МЕГА2560 при использовании библиотеки UTFT из-за использования дисплеем порта А меги вместо С. К слову - на DUE тоже работает, а на ESP32 нет.
Моего кода для ESP32 ещё нет.Сначала пытаюсь получить картинку, оценить скорость экрана.Есть
необходимость в связке именно ESP32 с данным экраном из-за его размера.
Использую модифицированный пример из UTFT, который переделан для TFT_eSPI её автором "UTFT_Demo_480x320"
Да и собственно любой пример библиотеки TFT_eSPI для этого дисплея - с тем-же результатом.Белый экран.
Подключение(User_Setup.h):
#define USER_SETUP_ID 16 #define ESP32_PARALLEL #define ILI9488_DRIVER // ESP32 pins used #define TFT_CS 33 // Chip select control pin #define TFT_DC 15 // Data Command control pin - must use a pin in the range 0-31 #define TFT_RST 32 // Reset pin #define TFT_WR 4 // Write strobe control pin - must use a pin in the range 0-31 //#define TFT_RD 2// Not conn. #define TFT_D0 12 // Must use pins in the range 0-31 for the data bus #define TFT_D1 13 // so a single register write sets/clears all bits #define TFT_D2 26 #define TFT_D3 25 #define TFT_D4 17 #define TFT_D5 16 #define TFT_D6 27 #define TFT_D7 14
Но вообще должен быть выведен, 100%.
Благодарю Вас за желание помочь.
Дисплей как раз тот, что что по ссылке открывается, пост номер 5 той темы.
Там устранена неработоспособность этого экрана с МЕГА2560 при использовании библиотеки UTFT из-за использования дисплеем порта А меги вместо С. К слову - на DUE тоже работает, а на ESP32 нет.
Моего кода для ESP32 ещё нет.Сначала пытаюсь получить картинку, оценить скорость экрана.Есть
необходимость в связке именно ESP32 с данным экраном из-за его размера.
Использую модифицированный пример из UTFT, который переделан для TFT_eSPI её автором "UTFT_Demo_480x320"
Да и собственно любой пример библиотеки TFT_eSPI для этого дисплея - с тем-же результатом.Белый экран.
Подключение(User_Setup.h):
#define USER_SETUP_ID 16 #define ESP32_PARALLEL #define ILI9488_DRIVER // ESP32 pins used #define TFT_CS 33 // Chip select control pin #define TFT_DC 15 // Data Command control pin - must use a pin in the range 0-31 #define TFT_RST 32 // Reset pin #define TFT_WR 4 // Write strobe control pin - must use a pin in the range 0-31 //#define TFT_RD 2// Not conn. #define TFT_D0 12 // Must use pins in the range 0-31 for the data bus #define TFT_D1 13 // so a single register write sets/clears all bits #define TFT_D2 26 #define TFT_D3 25 #define TFT_D4 17 #define TFT_D5 16 #define TFT_D6 27 #define TFT_D7 14
Не должно тут быть:
#define TFT_PARALLEL_8_BIT
?
@aveal Китайцы не вывели этот сигнал со шлейфа экрана на пины шилда. При работе этого шилда с мегой и DUE чтение из дисплея не используется, но данный пример отлично работает. Время 47,5 сек. на меге и примерно вдвое меньше на DUE. Если ESP32 покажет результат не хуже чем DUE, то можно двигаться дальше.Да хоть какой-то результат получить, и это было бы неплохо для начала.
Библиотека TFT_eSPI была выбрана как первая из результатов поиска. Если Вам известно другое решение моей проблемы, использование данной библиотеки не принципиально.
@aveal Проверял и с этим дефайном и с двумя вместе-нет картинки.
@aveal в данный момент подключено проводками длиной 15-20 см через "дюпонты". Питание дисплея и плат контроллеров 5 Вольт через линейные стабилизаторы с фильтрацией.
Сначала было на макетке, но там сложности с двухрядными пинами на шилде, пришлось переделать.
Да, вероятно проводки длинноваты, и в окончательном варианте их скорее всего не будет.Однако эта же схема на меге и DUE работает. Нужно посмотреть форму сигналов на всех платформах. Для этого необходимо вынуть мегу и DUE из 3D принтеров, а это не быстро.
И фото сделаю.
@user_esp да можно просто фото текущего варианта, чтобы в целом представление получить.
@user_esp Тогда следующая мысль, что проблема в уровнях, ATMega 2560 - 5V, ESP32 - 3.3V.
@aveal Доброе утро. Думал так, поэтому и проверил на Arduino DUE.
Работает, а это платформа ARM.
Маловероятно,что поможет, но надо посмотреть форму сигналов.
А если ESP слишком быстрая и нет синхронизации. Всё это слишком глубоко.
Скорее всего дело в неправильном драйвере библиотеки.
Сколько я не искал, но не нашёл успешной реализации.
SPI дисплеи конечно работают, но у меня в наличии только 1,8".
Маловато будет.
Править библиотеку -не мой уровень.
Попробовать собрать на PlatformIO + VSC?