аппаратное подключение дислпея ili9341

marmalenok
Offline
Зарегистрирован: 08.09.2015

Почоны! помогите)) С ардуиной знаком недавно, так, что не пинайте сильно)) Итак! Приобрёл себе дисплей 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

pav2000
Offline
Зарегистрирован: 15.12.2014

Изменения только в одной строчке инициализации.

Не факт что UTFT и Adafruit поддерживают аппаратный спай (я не помню).

Я выбрал ucglib версии 1.2 не новее(в новых библиотеках проблема с русскими шрифтами). Там есть аппаратный спай бонусом идет встроенная utf8 кодировка. При тестах она показала максимальную скорость.

Инициализация 

Ucglib_ILI9341_18x240x320_HWSPI ucg(/*cd=*/PIN_CD, /*cs=*/PIN_CS, /*reset=*/PIN_RESET); // Аппаратный SPI на дисплей ILI9341

В Ваших библиотеках что то по аналогии если конечно поддерживается. Ищите упоминание буквы Н в функции инициализации Вашего контроллера.

marmalenok
Offline
Зарегистрирован: 08.09.2015

pav2000 пишет:

Изменения только в одной строчке инициализации.

Не факт что UTFT и Adafruit поддерживают аппаратный спай (я не помню).

Я выбрал ucglib версии 1.2 не новее(в новых библиотеках проблема с русскими шрифтами). Там есть аппаратный спай бонусом идет встроенная utf8 кодировка. При тестах она показала максимальную скорость.

Инициализация 

Ucglib_ILI9341_18x240x320_HWSPI ucg(/*cd=*/PIN_CD, /*cs=*/PIN_CS, /*reset=*/PIN_RESET); // Аппаратный SPI на дисплей ILI9341

В Ваших библиотеках что то по аналогии если конечно поддерживается. Ищите упоминание буквы Н в функции инициализации Вашего контроллера.

ОК) загружаю 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 

marmalenok
Offline
Зарегистрирован: 08.09.2015

up

pav2000
Offline
Зарегистрирован: 15.12.2014

Для начала можно попробовать понизить частоту spi, но надо копаться в библиотеке. Искать константу  SPI_CLOCK_DIV

 

 

marmalenok
Offline
Зарегистрирован: 08.09.2015

эммм... ну у меня и на нане не взлетает аппаратный spi, мож я чё не так делаю? подключаю дисплей через резисторы 22к к следующим пинам: SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK), 8 (RESET), 9 (DC/RS)

pav2000
Offline
Зарегистрирован: 15.12.2014

Я подключал через делители 2 и 4 ком.  Я начинал с микросхемы преобразователя уровней. Софт работал,  аппаратный нет. Поставил через делители, процесс пошел. Может у Вас фронты заваливаются.

На всчкий случай попробуйте поменять сс и дс местами в программе.

 

marmalenok
Offline
Зарегистрирован: 08.09.2015

Братюнь!!! пасиб! всё дело было в логике ардуины 5в. поставил микросхему К561ПУ4, всё завелось) сбило меня то, что с резисторами программная SPI заводилась без проблем... а аппаратной видимо 5в. вместо 3в. много))))