Подключение TFT дисплея ILI9341 с touch XPT2046 к ESP-32

Для отображения информации на дисплее с контроллером ILI9341 с использованием микроконтроллера ESP-32 возможно использовать стандартную библиотеку Adafruit GFX с библиотекой Adafruit ILI9341.

Для поддержки сенсорного экрана с контроллерами XPT2046, HR2046 (возможно поддерживается ADS7843 мной не проверено) используется библиотека XPT2046 Touchscreen.

Контроллер дисплея и контроллер тач-скрина работают по интерфейсу SPI, что позволяет задействовать интерфейс с радиальной структурой связи двух ведомых устройств.

Неочевидным оказалось то, что порт тач-скрина T_DO оказался портом MISO, а T_DIN портом MOSI. На это следует обратить внимание при подключении.

В итоге подключение оказалось таким:

ESP-32TFTTouchПримечание
IO5RESET
IO16DC
IO17CSpull-up
IO18CSK
IO19SDO(MISO)T_DO
IO23SDI(MOSI)T_DINpull-up
IO33T-CSpull-up
IO35T_IRQ

Пример исходного кода представлен ниже.

2018-06-12T12:58:48+00:00