Jump to content

    
Sign in to follow this  
Haze

отображается только по 8 символов

Recommended Posts

Приветствую Вас!

В общем проблема в том, что на MTC-S16202.. отображается только по 8 символов при прошивке на реальном мк. Для подключения задействую PORTC 4-битную шину. Уже пробовал 3 разных библиотеки из сети, пишу в avr-gcc avrstudio. В протеусе все отлично, а при прошивке ну нивкакую!!

Может кто сталкивался с такой проблемой?

Share this post


Link to post
Share on other sites

Вы хоть бы сказали, какой конкретно у вас МК, а то приходится гадать на кофейной гуще.

Но раз вы сами такую ситуацию спровоцировали, то и я вам отвечу в том же духе:

У вашего ATmega162 старшие 4 бита заняты под JTAG, и пока вы в фузах от JTAG'а не откажетесь, эти биты работать на вывод не станут. Оттого и ваш дисплей не работает.

Share this post


Link to post
Share on other sites

Что-то мне вспоминается, что эти экраны при кривой инициализации считают себя 8-символьными (а вот протеус такие тонкости может не воспроизводить). По-моему Вам следует пристальней изучить последовательность инициализации Вашего экрана (и ещё перенести тему в раздел для начинающих - это ведь классика :) )

Share this post


Link to post
Share on other sites

"По восемь символов" ? Я правильно понимаю, что это 8 символов в первой и 8 во второй строках ? Такое может быть, если код написан под однострочный 16-символьный индикатор, в этом случае адрес второй половины строки как раз и соответствует адресу второй строки для двухстрочных индикаторов.

А если не "по восемь", а "только восемь" - это больше похоже на ошибку инициализации (при этом и символы более темные, другие настройки развертки).

Share this post


Link to post
Share on other sites
Уже пробовал 3 разных библиотеки из сети

а эту пробовали? Иначе -

старшие 4 бита заняты под JTAG, и пока вы в фузах от JTAG'а не откажетесь, эти биты работать на вывод не станут.

 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
а эту пробовали?

 

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

 

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

Блин, не охота 8-бит использовать, чувствую придется..

 

Тем не менее Всем спасибо!

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

 

На ЖК дисплее написано mtc-s16202afghsay-02a и P16202X - чето в гугле не могу даташиту найти ни на че. Хотя при наборе выводится в поисковике на раз. Есть какие варианты чего такого не достает этому гаду?

Share this post


Link to post
Share on other sites

попробуйте в цикле выводить на него символы - не 8 или 16, а много и долго. если вдруг окажется, что так или иначе весь дисплей заполнится символами, значит дело в нестандартном распределении памяти. если же фокус не выйдет - ЖКИ скорее всего убитый.

Share this post


Link to post
Share on other sites
попробуйте в цикле выводить на него символы - не 8 или 16, а много и долго. если вдруг окажется, что так или иначе весь дисплей заполнится символами, значит дело в нестандартном распределении памяти. если же фокус не выйдет - ЖКИ скорее всего убитый.

 

 

Проверить распределение памяти можно, но маловероятно что это поможет. Врятли ктото стал бы заниматься извратом, и создал дисплей на основе стандартного контроллера с нестандартным адресным пространством.

Я всё же за то что дисплей испорчен. У себя наблюдал картину, когда выходил из строя один из контроллеров LCD и правые 8 символов в каждой строке не отображались.

 

Share this post


Link to post
Share on other sites

Можно еще попытаться увеличить все задержки после обращения к LCD (после любого изменения уровня) до неприличия - порядка 100 мс и посмотреть, что будет. Если потерянные цифры все равно не появятся, то бобик сдох. :)

Share this post


Link to post
Share on other sites
Проверить распределение памяти можно, но маловероятно что это поможет. Врятли ктото стал бы заниматься извратом, и создал дисплей на основе стандартного контроллера с нестандартным адресным пространством.

Я всё же за то что дисплей испорчен. У себя наблюдал картину, когда выходил из строя один из контроллеров LCD и правые 8 символов в каждой строке не отображались.

в моей практике был случай, когда 4-строчный дисплей имел не совсем стандартное распределение памяти и библиотека, рассчитанная на "стандартное" распределение не выводила во вторую и четвертую строки. пришлось подбирать методом научного тыка, т.к. документации на дисплей не было. если у топикстартера 9-й символ выводится в первую позицию второй строки - это кагбэ намекает...

 

 

Можно еще попытаться увеличить все задержки после обращения к LCD (после любого изменения уровня) до неприличия - порядка 100 мс и посмотреть, что будет. Если потерянные цифры все равно не появятся, то бобик сдох. :)
так выводит же часть строк - значит, не в задержках дело...

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this