Может, кто-то имел дело с цветными дисплеями на ILI9340C/ILI9341, работающими по SPI...
Уже давно покупал и плату STM32F0Discovery, и дисплей на Aliexpress, но только сейчас дошли руки до начала освоения STM32.
Нашёл в сети пример библиотеки, но для STM32F4, переделал под STM32F0. Результат у меня на GitHub.
Собственно, наблюдается следующий эффект - какую-то инициализацию дисплей проходит, но картинки на экране в итоге нет. Вместо этого на экране по вертикали (вдоль узкой стороны) чёрные и белые полосы толщиной 1 пиксел, из-за чего он кажется серым.
В основном цикле main() я с некоторой задержкой попеременно выдаю по SPI команду экрану на включение/отключение режима инверсии цвета - и команда точно проходит, так как черные полоски становятся белыми, белые - чёрными. Это, как минимум, гарантия того, что SPI проинициализирован правильно.
Так что проблема более вероятно завязана на саму инициализацию.. но тут даже не знаю, все примеры, что смог найти в сети проводят её схожим образом.
Я тут попытался снять видео телефоном, но качество преотвратное. Но, в принципе, увидеть, что полоски чередуются - можно.
Может, есть какие-то тонкости с этими дисплеями? Кто сталкивался?
Не заводится STM32F051 + 320x240 цветной дисплей
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Не заводится STM32F051 + 320x240 цветной дисплей
Последний раз редактировалось WiseLord Вс июн 07, 2015 08:34:53, всего редактировалось 1 раз.
- Реклама
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Не заводится STM32F051 + 320x240 цветной дисплей
Интересно, на варианте программной реализации SPI экранчик завёлся и работает.
Пока я доволен и этим, но хотелось бы понять, что не так с аппаратным SPI.

Пока я доволен и этим, но хотелось бы понять, что не так с аппаратным SPI.
Re: Не заводится STM32F051 + 320x240 цветной дисплей
А где работа с аппаратным? По ссылке только ручное ногодрочерство.WiseLord писал(а): Пока я доволен и этим, но хотелось бы понять, что не так с аппаратным SPI.
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Не заводится STM32F051 + 320x240 цветной дисплей
Вы git пользовались раньше? Там есть история коммитов, где всё видно. Да и написал же я, что заработал именно вариант с программной реализацией SPI. Поправил в первом сообщении ссылку на конкретный коммит, где ещё не работало.
Вообще, сегодня утром удалось завести дисплей уже на аппаратном SPI. Сейчас вот пытаюсь ещё и CS вывод аппаратно (I2C NSS) использовать, помимо MOSI/SCK.
P.S. Зашибись.. вычитал в Errata на STM32051, что у него проблемы с работой на режимах SPI <= 8 бит. Особенно, в режиме FullDuplex + на приём - вроде как, несмотря на регистры, идут всё те же 16 бит.
Вообще, сегодня утром удалось завести дисплей уже на аппаратном SPI. Сейчас вот пытаюсь ещё и CS вывод аппаратно (I2C NSS) использовать, помимо MOSI/SCK.
P.S. Зашибись.. вычитал в Errata на STM32051, что у него проблемы с работой на режимах SPI <= 8 бит. Особенно, в режиме FullDuplex + на приём - вроде как, несмотря на регистры, идут всё те же 16 бит.
Re: Не заводится STM32F051 + 320x240 цветной дисплей
http://kazus.ru/forums/showpost.php?p=7 ... ostcount=7P.S. Зашибись.. вычитал в Errata на STM32051, что у него проблемы с работой на режимах SPI <= 8 бит. Особенно, в режиме FullDuplex + на приём - вроде как, несмотря на регистры, идут всё те же 16 бит.
Кстати CS дергать каждую транзакцию совершенно не обязательно ...
И если хотите освоить STM32 -бросайте SPL и кубокал к чертовой матери.
- Реклама
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Не заводится STM32F051 + 320x240 цветной дисплей
Ну.. SPL хорош в том смысле, что в нем хотя бы подсмотреть можно реализацию некторых базовых вещей, а так-то он тот же "чистый" CMSIS использует. А кубокал - это Вы что так назвали?
Re: Не заводится STM32F051 + 320x240 цветной дисплей
Snippets для F0 чем не устраивают?WiseLord писал(а):Ну.. SPL хорош в том смысле, что в нем хотя бы подсмотреть можно реализацию некторых базовых вещей
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Не заводится STM32F051 + 320x240 цветной дисплей
Я только пару недель как взялся за STM32, и пока ещё толком не знаю даже как к нему подходить, какие есть библиотеки и прочие моменты. Пока худо бедно разобрался с GPIO, RCC, I2C, вот за SPI взялся. Вроде какая-то общая картина в голове по поводу STM уже начинает складываться.
Плюс сложности ещё и с тем, что в Linux приходится копать глубже - нет зоопарка готовых заточенных под STM32 IDE, где нажав пару кнопок, сразу получишь заготовку проекта для нужного контроллера, где не надо париться, какие ld-скрипты подгружать для размещения программы в адресном пространстве, как подключить нужный startup_*.s файл, сформировать Makefile для проекта и т.д.
Для AVR-ок я уже выстроил достаточно комфортную для себя среду для разработки, а тут пока только первые шаги делаю. Для QtCreator (нравится мне он) сделал шаблоны для быстрого создания рабочего проекта с подключением всех требуемых зависимостей, упомянутых выше. Ещё вот разобраться, как arm-none-eabi-gdb подключить в нём для отладки через SWD - вообще будет удобно.
Кстати, дисплей уже замечательно работает через SPI, если кому-то интересна библиотека для STM32F0Discovery - можно взять здесь. А я пока буду при наличии свободного времени потихоньку выпиливать из неё всё лишнее, вроде SPL.
Плюс сложности ещё и с тем, что в Linux приходится копать глубже - нет зоопарка готовых заточенных под STM32 IDE, где нажав пару кнопок, сразу получишь заготовку проекта для нужного контроллера, где не надо париться, какие ld-скрипты подгружать для размещения программы в адресном пространстве, как подключить нужный startup_*.s файл, сформировать Makefile для проекта и т.д.
Для AVR-ок я уже выстроил достаточно комфортную для себя среду для разработки, а тут пока только первые шаги делаю. Для QtCreator (нравится мне он) сделал шаблоны для быстрого создания рабочего проекта с подключением всех требуемых зависимостей, упомянутых выше. Ещё вот разобраться, как arm-none-eabi-gdb подключить в нём для отладки через SWD - вообще будет удобно.
Кстати, дисплей уже замечательно работает через SPI, если кому-то интересна библиотека для STM32F0Discovery - можно взять здесь. А я пока буду при наличии свободного времени потихоньку выпиливать из неё всё лишнее, вроде SPL.


