Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: отображается только по 8 символов
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Haze
Приветствую Вас!
В общем проблема в том, что на MTC-S16202.. отображается только по 8 символов при прошивке на реальном мк. Для подключения задействую PORTC 4-битную шину. Уже пробовал 3 разных библиотеки из сети, пишу в avr-gcc avrstudio. В протеусе все отлично, а при прошивке ну нивкакую!!
Может кто сталкивался с такой проблемой?
Xenia
Вы хоть бы сказали, какой конкретно у вас МК, а то приходится гадать на кофейной гуще.
Но раз вы сами такую ситуацию спровоцировали, то и я вам отвечу в том же духе:
У вашего ATmega162 старшие 4 бита заняты под JTAG, и пока вы в фузах от JTAG'а не откажетесь, эти биты работать на вывод не станут. Оттого и ваш дисплей не работает.
RabidRabbit
Что-то мне вспоминается, что эти экраны при кривой инициализации считают себя 8-символьными (а вот протеус такие тонкости может не воспроизводить). По-моему Вам следует пристальней изучить последовательность инициализации Вашего экрана (и ещё перенести тему в раздел для начинающих - это ведь классика sm.gif )
rx3apf
"По восемь символов" ? Я правильно понимаю, что это 8 символов в первой и 8 во второй строках ? Такое может быть, если код написан под однострочный 16-символьный индикатор, в этом случае адрес второй половины строки как раз и соответствует адресу второй строки для двухстрочных индикаторов.
А если не "по восемь", а "только восемь" - это больше похоже на ошибку инициализации (при этом и символы более темные, другие настройки развертки).
_Pasha
Цитата(Haze @ Jun 23 2013, 20:17) *
Уже пробовал 3 разных библиотеки из сети

а эту пробовали? Иначе -
Цитата(Xenia @ Jun 23 2013, 20:42) *
старшие 4 бита заняты под JTAG, и пока вы в фузах от JTAG'а не откажетесь, эти биты работать на вывод не станут.

Haze
Пользую ATmega16. С фьюзами жтага все нормально, хотя Вы отчасти и правильно догадались насчет них. Первый раз я про них не подумал при прошивке. НО в этом случае в принципе инициализация не проходит! В каждой строке по 8 черных прямоугольников (lcd 16х2). После их разлочки по 8 симоволов в каждой строке.
Haze
Цитата
а эту пробовали?


Пробовал ((: И эта не пашет. Выводит в 2-х строках: 12345678 и усё.

Короче lcd рабочий. Раньше я помню на нем работал с 8-битной шиной данных точно! Вот не помню насчет 4-битной, вроде тоже куда-то подключал.
Блин, не охота 8-бит использовать, чувствую придется..

Тем не менее Всем спасибо!
Тупо поменял на какой-то 16230 S1FRLY/R (правда у него походу кирилицы нет) и заработало. Отображает 2 строки по 16 символов вполне так!

На ЖК дисплее написано mtc-s16202afghsay-02a и P16202X - чето в гугле не могу даташиту найти ни на че. Хотя при наборе выводится в поисковике на раз. Есть какие варианты чего такого не достает этому гаду?
ARV
попробуйте в цикле выводить на него символы - не 8 или 16, а много и долго. если вдруг окажется, что так или иначе весь дисплей заполнится символами, значит дело в нестандартном распределении памяти. если же фокус не выйдет - ЖКИ скорее всего убитый.
mempfis_
Цитата(ARV @ Jun 24 2013, 19:56) *
попробуйте в цикле выводить на него символы - не 8 или 16, а много и долго. если вдруг окажется, что так или иначе весь дисплей заполнится символами, значит дело в нестандартном распределении памяти. если же фокус не выйдет - ЖКИ скорее всего убитый.



Проверить распределение памяти можно, но маловероятно что это поможет. Врятли ктото стал бы заниматься извратом, и создал дисплей на основе стандартного контроллера с нестандартным адресным пространством.
Я всё же за то что дисплей испорчен. У себя наблюдал картину, когда выходил из строя один из контроллеров LCD и правые 8 символов в каждой строке не отображались.
Xenia
Можно еще попытаться увеличить все задержки после обращения к LCD (после любого изменения уровня) до неприличия - порядка 100 мс и посмотреть, что будет. Если потерянные цифры все равно не появятся, то бобик сдох. sm.gif
ARV
Цитата(mempfis_ @ Jun 25 2013, 10:55) *
Проверить распределение памяти можно, но маловероятно что это поможет. Врятли ктото стал бы заниматься извратом, и создал дисплей на основе стандартного контроллера с нестандартным адресным пространством.
Я всё же за то что дисплей испорчен. У себя наблюдал картину, когда выходил из строя один из контроллеров LCD и правые 8 символов в каждой строке не отображались.
в моей практике был случай, когда 4-строчный дисплей имел не совсем стандартное распределение памяти и библиотека, рассчитанная на "стандартное" распределение не выводила во вторую и четвертую строки. пришлось подбирать методом научного тыка, т.к. документации на дисплей не было. если у топикстартера 9-й символ выводится в первую позицию второй строки - это кагбэ намекает...


Цитата(Xenia @ Jun 25 2013, 11:16) *
Можно еще попытаться увеличить все задержки после обращения к LCD (после любого изменения уровня) до неприличия - порядка 100 мс и посмотреть, что будет. Если потерянные цифры все равно не появятся, то бобик сдох. sm.gif
так выводит же часть строк - значит, не в задержках дело...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.