Добрый день. Очередной раз сражаюсь с дисплеями. На этот раз “3.5inch SPI Module MSP3520”.
Подключал его и к Arduino Mega 2560 Pro Mini и к Arduino Mega 2560.
(пример с Arduino Mega 2560 Pro Mini)
с какой-то долей вероятности ты запускаешь его на софтовом SPI, смотри есть ли инициализация для hard SPI
ЗЫ если библиотека отсюда, там прямо написано - не для avr
PS может это чем поможет
сомневаюсь, что на AVR он не работает. Продавец прислал PDF в котором описано как подключать его и к Uno, и к Mega, и к STM.
Пробовал ту ссылку где его подключают к UNO. Не получилось.
Тоже пробовал. Перебрал все 4 режима SPI (которые там есть). Так же пробовал менять частоту SPI (она в SPI.h 4000000 а в ili9488.h 8000000 по-моему). Но тоже не помогло.
Но в *.h и в *.cpp есть очень много чего мне пока не понятного. Поэтому - поменяю число, не получается, назад возвращаю. Наверняка можно *.h и в *.cpp что то поменять что бы всё заработало. только не знаю где.
Вопрос решён. Опишу причину проблемы (для тех кто будет пробовать работать с таким или подобными дисплеями). Я даже раньше не обращал на это внимание. И на моём рисунке никто не сказал что я соединяю +5 и +3.3 Вольта.
Почитайте здесь:
И на ответ от “ua6em”:
“…там прямо написано - не для avr…”
это тоже ерунда. Работает на этой библиотеке ещё как.
Я включил между LCD и Mega конвертер уровней txs0108e.
Если откроете ссылку на форум (привёл выше) то (смотря на фото): слева включаете LCD справа - Mega. Всё великолепно работает.
Только (но это наверное особенность этого дисплея) мне пришлось добавлять в скетч строку
tft.invertDisplay(true);
потому что некорректно отображаются цвета: 0xFFFF отображается как 0x0000.
И очень медленно дисплей всё выводит. Надо на STM32 переходить.
А (может кто тестировал): что быстрее - вывод через последовательный интерфейс на STM32, или параллельный на Arduino? (понимаю - параллельный на STM32 лучше )
Вы какую частоту SPI в итоге используете?
“Медленно” - понятие относительное. В библиотеке от Адафруит есть бенчмарк тест - запустите его и покажите результат.
зависит от частоты, что поддерживает дисплей. На “блюпилле”, если я не путаю, максимальная частота SPI 18 МГц, на Меге - 4 МГц. Так что теоретически последовательный СТМ должен быть в 4 раза быстрее последовательного АВР.
А с параллельным надо вживую сравнивать, так не скажешь.
Я вообще-то написал “схема” а не “рисунок”.
А что именно там видно, известно лишь автору рисунка.
Лично я наскальную живопись читать не умею. А потому IMHO все претензии, что мол “не сказали” нужно адресовать исключительно себе - не разместил схему.
Вообще-то прежде, чем “тестировать”, следовало бы посчитать. Тогда, может, и “тестировать” не понадобится.
Кстати, есть и довод в пользу “тестирования”: как показывает практика, реальное различие в скорости между последовательным и параллельным интерфейсами несколько больше, чем дают теоретические оценки - из-за больших пауз между посылками в последовательном интерфейсе.
И заодно довод против “тестирования”: как правило, новички не обладают достаточной квалификацией, чтобы грамотно организовать процесс тестирования.
Кстати, тестировать в принципе мог бы я (у меня пунктик - скорость отображения на дисплее), но я не делал этого, т.к. сначала провожу теоретические оценки скорости, затем, исходя из оценок, выбираю интерфейс и тогда все измерения провожу уже исключительно для нужного интерфейса.