аппаратное подключение дислпея ili9341
- Войдите на сайт для отправки комментариев
Пт, 23/10/2015 - 11:46
Почоны! помогите)) С ардуиной знаком недавно, так, что не пинайте сильно)) Итак! Приобрёл себе дисплей ili9341 подключаю его к ардуине, пины: SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK), 8 (RESET), 9 (DC/RS). Подключаю дисплей зерез резисторы 22к. Библиотеки использую UTFT и Adafruit. В обоих случях всё работает, но как то медленно... В инете вычитал, что дислпей может работать как с аппаратной шиной SPI так и с програмной. Вопрос: как заставить его работать с аппаратной SPI? Вот тут видос и инете нашёл, как раз у меня работает с такой же скоростью, как в первом примере((( а я хочу шустрее! что бы всё летало, как во втором ;) http://www.youtube.com/watch?v=skBZku36_5A
Изменения только в одной строчке инициализации.
Не факт что UTFT и Adafruit поддерживают аппаратный спай (я не помню).
Я выбрал ucglib версии 1.2 не новее(в новых библиотеках проблема с русскими шрифтами). Там есть аппаратный спай бонусом идет встроенная utf8 кодировка. При тестах она показала максимальную скорость.
Инициализация
В Ваших библиотеках что то по аналогии если конечно поддерживается. Ищите упоминание буквы Н в функции инициализации Вашего контроллера.
Изменения только в одной строчке инициализации.
Не факт что UTFT и Adafruit поддерживают аппаратный спай (я не помню).
Я выбрал ucglib версии 1.2 не новее(в новых библиотеках проблема с русскими шрифтами). Там есть аппаратный спай бонусом идет встроенная utf8 кодировка. При тестах она показала максимальную скорость.
Инициализация
В Ваших библиотеках что то по аналогии если конечно поддерживается. Ищите упоминание буквы Н в функции инициализации Вашего контроллера.
ОК) загружаю ucglib
расскоменчиваю строчки:
Ucglib_ILI9341_18x240x320_SWSPI ucg(/*sclk=*/ 13, /*data=*/ 11, /*cd=*/ 9 , /*cs=*/ 10, /*reset=*/ 8);
экран работает
закомменчиваю эти строчки, расскоменчиваю строчки:
Ucglib_ILI9341_18x240x320_HWSPI ucg(/*cd=*/ 9 , /*cs=*/ 10, /*reset=*/ 8);
экран не работает....тупо светится белым и всё... в чём может быть дело? ардуино uno r3
up
Для начала можно попробовать понизить частоту spi, но надо копаться в библиотеке. Искать константу SPI_CLOCK_DIV
эммм... ну у меня и на нане не взлетает аппаратный spi, мож я чё не так делаю? подключаю дисплей через резисторы 22к к следующим пинам: SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK), 8 (RESET), 9 (DC/RS)
Я подключал через делители 2 и 4 ком. Я начинал с микросхемы преобразователя уровней. Софт работал, аппаратный нет. Поставил через делители, процесс пошел. Может у Вас фронты заваливаются.
На всчкий случай попробуйте поменять сс и дс местами в программе.
Братюнь!!! пасиб! всё дело было в логике ардуины 5в. поставил микросхему К561ПУ4, всё завелось) сбило меня то, что с резисторами программная SPI заводилась без проблем... а аппаратной видимо 5в. вместо 3в. много))))