10.09.2016, 19:38
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.03.2010
Сообщений: 2,897
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
|
Re: STM32F030F4 + HD44780 работает через раз
Сообщение от miwutka
|
Новый инит тоже виснит ))) Попробую сделать инит из даташита ))
|
Если после инита дисплей начал работать, а потом перестал - дело уже не в ините. Дальше уже только помехи могут помешать.
|
|
|
|
10.09.2016, 19:49
|
|
Временная регистрация
Регистрация: 10.09.2016
Сообщений: 29
Сказал спасибо: 1
Сказали Спасибо 5 раз(а) в 4 сообщении(ях)
|
Re: STM32F030F4 + HD44780 работает через раз
Сообщение от miwutka
|
С вашим инитом тоже 1 из 5 включений ероглифы ... Новый инит тоже виснит .
|
Иероглифы и "зафисания" (на самом деле это не зависания, а ошибочный прием данных) происходят из-за нарушения в группировке полубайтов. На первом этапе инициализации полубайты идут отдельно, и в нечетном количестве. А остальная работа требует четного количества полубайтов.
То есть, функции посылки в дисплей должно быть две. Одна - передает полубайтами на этапе инициализации; вторая - распаковывает байт на полубайты и передает четное количество полубайтов.
Однако, все это можно упростить, если немного подумать над интервалами посылок.
Лично я передаю полубайты на всем этапе инициализации с интервалом 5 мс, а во время работы дисплея полубайты передаю с интервалом 50-60 мкс. Функция одна. Изменяется только интервал передачи. Байты инициализации группирую вручную при написании с учетом последующей распаковки.
Последний раз редактировалось Неаполитанский Залив; 10.09.2016 в 19:56.
|
|
|
|
10.09.2016, 19:55
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.03.2010
Сообщений: 2,897
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
|
Re: STM32F030F4 + HD44780 работает через раз
Сообщение от Неаполитанский Залив
|
Можете хоть серо-буро-малиновым цветом подчеркивать, да только вот находящиеся левее буковки с циферками однозначно показывают, что инфа принимается только на старшую половину порта, только на 4 линии.
Даташиты тоже содержат неоднозначности. Написано одно, а показано другое. В другом месте даташита написано третье. И даташиты отличаются. И фиг знает, что подразумевалось на самом деле.
Я же сужу по тому, насколько надежно работает тот или иной метод.
Кстати, на приведенном вами фрагменте из даташита нет противоречия тому, что я написал.
|
Знаете, как отличить умного человека от дурака? Умный поблагодарит, когда ему укажут на ошибку, а дурак станет в позу и будет упорствовать в своем заблуждении.
Написанное вами противоречит ДШ как в определении первоначального режима МК после включения (в восьмибитном режиме полная команда - неважно, сколько бит из нее использовано контроллером - шлется за 1 строб на "Е", а в четырехбитном - за два строба), так и в последовательности инициализации. Я, конечно, ХЗ, что вы имели в виду под "Данные передаются полубайтами", но если вы имели в виду 2 посылки (два строба на "Е") на каждое волшебное число в вашей последовательности - то в даташите сказано для первых четырех команд делать не так, а если это именно последовательность единичных полубайтов, которые надо передать со стробом после каждого - то после перевода в 4-битный режим (первой посылки 0x2) дисплей будет формировать команды из пар следующих посылок, и первой же командой получит 0x2C, что соответствует работе с дисплеями, содержащими матрицу символа 5х10 точек, практически не встречающимися.
Последний раз редактировалось AR_Favorit; 10.09.2016 в 20:00.
|
|
|
|
10.09.2016, 20:00
|
|
Временная регистрация
Регистрация: 10.09.2016
Сообщений: 29
Сказал спасибо: 1
Сказали Спасибо 5 раз(а) в 4 сообщении(ях)
|
Re: STM32F030F4 + HD44780 работает через раз
Сообщение от AR_Favorit
|
Знаете, как отличить умного человека от дурака?
|
Умный человек рассматривает кучу вариантов, а дурак слепо верит в то, что однажды написано.
Если я только сегодня зарегался на этом форуме, это не значит, что я новичок в теме двухстрочного символьного дисплея и что мне нужна помощь в работе с ним. Эта тема для меня давно пройдена и благополучно отложена в ящик. А сейчас я спокойно общаюсь с цветными тфт-дисплеями размера 480х272.
Сообщение от AR_Favorit
|
Написанное вами противоречит ДШ
|
такое впечатление, что вы, извините, только по даташитам общаетесь с дисплеем.
Последний раз редактировалось Неаполитанский Залив; 10.09.2016 в 20:03.
|
|
|
|
10.09.2016, 20:00
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: STM32F030F4 + HD44780 работает через раз
Я данные шлю как в первом посту. Интервал 100 мкс. Думаете нужно уменьшить? Сейчас попробую
Добавил в первый пост дефайны. Потеря связи осталась... Значит ИНИТ трогать уже не нужно? Лечить "потерю связи" ??
Последний раз редактировалось miwutka; 10.09.2016 в 20:05.
|
|
|
|
10.09.2016, 20:09
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: STM32F030F4 + HD44780 работает через раз
Сообщение от Неаполитанский Залив
|
А сейчас я спокойно общаюсь с цветными тфт-дисплеями размера 480х272.
|
Вот это я тоже хочю в дальнейшем.... Надо будет поискать либы... Или это на встроенном контроллере в стм...
|
|
|
|
10.09.2016, 20:17
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.03.2010
Сообщений: 2,897
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
|
Re: STM32F030F4 + HD44780 работает через раз
Сообщение от Неаполитанский Залив
|
Умный человек рассматривает кучу вариантов, а дурак слепо верит в то, что однажды написано.
Если я только сегодня зарегался на этом форуме, это не значит, что я новичок в теме двухстрочного символьного дисплея и что мне нужна помощь в работе с ним. Эта тема для меня давно пройдена и благополучно отложена в ящик. А сейчас я спокойно общаюсь с цветными тфт-дисплеями размера 480х272.
такое впечатление, что вы, извините, только по даташитам общаетесь с дисплеем.
|
Я не смотрел дату вашей регистрации, и помощь я вам не предлагал, а
всего лишь поправил в ошибке, которую вы допустили. Но теперь вижу, с кем имею дело - упорствуйте на здоровье. Если кто-то предпочитает делать абы как , а не как надо, его устраивает, что у него работает всего лишь "во многих случаях", а на ДШ у него аллергия - флаг в руки.
|
|
|
|
10.09.2016, 20:23
|
|
Временная регистрация
Регистрация: 10.09.2016
Сообщений: 29
Сказал спасибо: 1
Сказали Спасибо 5 раз(а) в 4 сообщении(ях)
|
Re: STM32F030F4 + HD44780 работает через раз
Нууу зря вы так, однако, AR_Favorit. Я вам ничего плохого не делал.
Сообщение от AR_Favorit
|
, конечно, ХЗ, что вы имели в виду
|
вот именно! Вот именно.. Вы просто не правильно меня поняли. Потому вам и показалась якобы ошибка.
|
|
|
|
10.09.2016, 20:26
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.03.2010
Сообщений: 2,897
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
|
Re: STM32F030F4 + HD44780 работает через раз
Сообщение от miwutka
|
Я данные шлю как в первом посту. Интервал 100 мкс. Думаете нужно уменьшить? Сейчас попробую
Добавил в первый пост дефайны. Потеря связи осталась... Значит ИНИТ трогать уже не нужно? Лечить "потерю связи" ??
|
Дефайны никак не влияют на работу программы, это всего лишь способ представления исходного текста - чтобы видеть в нем краткие и информативные обозначения, а не те конструкции, которые этими обозначениями заменены, а также иметь возможность изменить данную конструкцию во всех местах программы одновременно. Скомпилированная программа будет одинаковой, компилятор просто берет то, что находится в правой части дефайна и подставляет во все места, в которых обнаруживает его левую часть.
Так что да, лечить сбои - проверьте все тайминги, убедитесь, что нет ситуации, когда, например, обмен с дисплеем может прервать прерывание, в котором тоже идет запись в дисплей, ну и что у вас там с проводами, которыми дисплей подключен - он в общем случае толерантно относится к подключению шлейфиками, но помехи на эти шлейфики ловятся гораздо сильнее.
|
|
|
|
10.09.2016, 22:10
|
|
Временная регистрация
Регистрация: 10.09.2016
Сообщений: 29
Сказал спасибо: 1
Сказали Спасибо 5 раз(а) в 4 сообщении(ях)
|
Re: STM32F030F4 + HD44780 работает через раз
Сообщение от miwutka
|
Вот это я тоже хочю в дальнейшем.... Надо будет поискать либы... Или это на встроенном контроллере в стм...
|
По хорошему, для более-менее человеческой работы с дисплеем такого размера желательна буферная видеопамять на внешней микросхеме SDRAM на несколько мегабит
(например, http://www.issi.com/US/product-synchronous-sram.shtml,
http://www.issi.com/WW/pdf/61-64VPS_...36B_51218B.pdf). В нее при запуске микроконтроллера распаковываются и загружаются все необходимые графические элементы изображения, и по мере необходимости, микроконтроллер выдергивает их, преобразует, компонует и закидывает их обратно в эту видеопамять, в специально выделенный участок, в котором формируется выводимый кадр изображения. И затем в нужный момент микроконтроллер берет из видеопамяти сформированный кадр и отправляет на дисплей целиком. Благодаря такой организации, получается формировать картинку с разными эффектами наложений, работая очень быстро и продуктивно.
Можно конечно и по рабоче-крестьянски, работая через оперативку микроконтроллера, просчитывая картинку порциями. Только вот оперативка микроконтроллера во многих случаях небольшого размера, ее даже не всегда хватает на полный кадр то.
Тут как бы смотря чего на дисплей выводить.
Сообщение от AR_Favorit
|
, конечно, ХЗ, что вы имели в виду ...
слать вторые полубайты не надо.
|
ааа, я кажись понял, где вы меня не поняли.
Дело в том, что запись 0х3 как раз и означает, что число представлено в виде полубайта, шириной 4 бита. Количество цифр после префикса указывает на разрядность слова, так принято во многих источниках. Вот если бы я написал 0х03, тогда бы имел ввиду полный байт, слово шириной в 8 бит.
Последний раз редактировалось Неаполитанский Залив; 10.09.2016 в 22:27.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 10:18.
|
|