Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/16: Рейтинг темы: голосов - 16, средняя оценка - 4.75
ozuri
0 / 0 / 0
Регистрация: 22.02.2014
Сообщений: 14
#1

STM32f746g-Discovery + STCubeMX + LCD (LTDC )

18.07.2017, 17:43. Просмотров 2846. Ответов 8
Метки нет (Все метки)

Добрый день.
Недавно начал знакомится с МК STM32f746NG на боту платы ST Dyscovery. Для меня ST это в новинку, поэтому сразу не все дается.
Попытался вывести картинку на экране. Использую мануал: http://www.st.com/content/ccc/resource/ ... 287603.pdf

С п. 6 по п. 6.2.6 (включительно) все было выполнено, сразу выполнил и п. 6.2.7., появилась картинка на экране.
НО!, картинка вышла с дефектом, на глаз - небольшое смещение в горизонтальной развертке. Такое ощущение, что горизонтальные линии выводятся то со смещением "пиксель-влево", то "пиксель-вправо". Настройки с Куба были сверены с примером в мануале, питы перенастроены также в соответствии с требованиям и проверены несколько раз.
Как выполнить п. 6.2.7 пока не соображу. Необходим ли он что-бы картинка была без дефекта или причина в другом?

P.S. Использую VisualGDB из VisualStudyo 15.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.07.2017, 17:43
Ответы с готовыми решениями:

LCD в STM32L-Discovery
Не получается сгенерировать символы на ЖК-дисплее в STM32T-Dyscovery. Сначала...

STM32F429-Discovery + LCD
Приехала STM32F429-Dyscovery. И сразу возникли вопросы: 1. Можно ли сменить...

stm32f429-Discovery и lcd для чайников.
Здравствуйте. Прошу помочь в освоении. Есть упомянутая в названии платка, на...

STM32F7-discovery, аналог LCD экрана
День добрый всем. Подскажите пожалуйста как мне выбрать аналог экрана...

Тахометр и LCD на STM8L-Discovery - вопросы новичка
Всем доброго времени суток. В качестве курсового проекта, а также для...

8
ozuri
0 / 0 / 0
Регистрация: 22.02.2014
Сообщений: 14
18.07.2017, 21:50 #2
Прилагаю фото "проблемы".

0
x893
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 886
18.07.2017, 21:55 #3
Запустите пример для вывода картинки, потом сравните со своим кодом.
0
ozuri
0 / 0 / 0
Регистрация: 22.02.2014
Сообщений: 14
19.07.2017, 19:35 #4
Сравнил с примером - все идентично. Взял их массив-изображение в свой исходник - все отлично. Взял мой массив-изображение в их пример - фигня. То-есть, сгенерированный массив из lcd-image-convirter был сделан не верно. Проверил настройки lcd-image-convirter, на всякий случай сделал рисунок bmp и даже пробовал менять кодировку файла - проблема остается. Странные грабли.
Есть у кого-то какие-либо предположения?



0
hd44780
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 1,605
19.07.2017, 20:43 #5
Используйте другую программу для конвертации bmp ->RGB565 (или какой там у Вас). Их в интернете тьма-тьмущая.
Может в этом lcd-image-convirter бага какая-то..
0
x893
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 886
19.07.2017, 23:50 #6
Вот же
https://github.com/riuson/lcd-image-convirter
напишите Влидимиру и спросите прямо.

Да свою написать не проблема.
Или взять от ST
BmpCvtST.ixi (если windows)
Или использовать jpeg декодер от великого Чена
http://itm-chan.org/fsw/tjpgd/00index.html
0
ozuri
0 / 0 / 0
Регистрация: 22.02.2014
Сообщений: 14
23.07.2017, 16:09 #7
Спасибо все за внимание и подсказки!
Решил отписаться о решении проблемы:
Как оказалось, проблема крылась в том, что lcd-image-convirter формировал два пикселя в числе uint32_t таким образом: первый пиксель - старшие 16 бит, второй пиксель - младшие 16 бит. А библиотеки STM32 считаю "наоборот" (младшие 16 бит - первый пиксель и соответственно, старшие 16 бит - второй). Какую маску задать в lcd-image-convirter что бы это изменить я не разобрался, поэтому просто написал программу переставляющую эти биты. И вуаля! - все отлично!
0
Ryus
0 / 0 / 0
Регистрация: 01.08.2013
Сообщений: 64
27.08.2017, 21:36 #8
Цитата Сообщение от ozuri
Какую маску задать в lcd-image-convirter что бы это изменить я не разобрался
Для этого перестановка бит настраивается.
Либо данные надо было в 16-битные блоки запихивать, а не 32-битные.
Бага здесь нет.

Цитата Сообщение от x893
Вот же
https://github.com/riuson/lcd-image-convirter
напишите Влидимиру и спросите прямо.
Тем более, что я на этом форуме присутствую...
0
BusMostir
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 385
27.08.2017, 21:53 #9
Фотошоп запросто умеет сохранять в RGB565, и к тому же, если в опциях поменять порядок строк, то можно получить аппаратное декодирование BMP акселератором без лишних телодвижений.
Тип данных BMP должен быть однобайтным, потому что в заголовке данные разного размера, и например формат RGB888 он трехбайтный.
Акселератор автоматически извлекает и декодирует любой формат, в том числе и индексный.
0
27.08.2017, 21:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.08.2017, 21:53

подключение LCD (HD47780) к плате STM32F4- Discovery
Здравствуйте всем ! Подключил дисплей к плате написал простой код для проверки...

LCD в stm32f429 discovery через час работы белый
Добрый день! Все отлично, но спустя час примерно работы, экран дискавери...

STM32F4Discovery + LCD через fsmc для индентификации мк LCD
Нужна помощь, может кто поделиться готовым проектом,чтобы на STM32F4-Dyscovery...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru