Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: 4-bit режим символьного LCD
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам
Энтомолог
Имеется индикатор на контроллере HD44780 / KS0066. В 4-bit Режиме данные передаются за 2 такта. Что будет, если одна из половинок будет потеряна? Все последующие символы превратятся в белиберду? Как с этим бороться? Или просто использовать 8-bit режим и с 4-bit не заморачиваться?
ViKo
Используйте 4-битовый режим и ничего не теряйте.
Lagman
Если данные будут теряться то не поможет и 8 битный режим.
Энтомолог
Цитата(ViKo @ Jul 2 2017, 14:11) *
Используйте 4-битовый режим и ничего не теряйте.


Я готов взять вас на работу, чтобы вы лично следили, чтобы ни одна посылка не потерялась.

Цитата(Lagman @ Jul 2 2017, 14:48) *
Если данные будут теряться то не поможет и 8 битный режим.


В 8-bit режиме пропуск данных означает пропуск буквы. Эта ошибка уйдет, как только экран буде обновлен. В 4-bit режиме, насколько я понимаю ситуацию, это приведет к искажению всего, что будет после.
adnega
Цитата(Энтомолог @ Jul 2 2017, 14:59) *
В 8-bit режиме пропуск данных означает пропуск буквы.

Не всегда: пропустите управляющую команду - и получите непоймичто навсегда.
По уму нужно не только данные освежать, но и конфигурацию.
Скорее всего, 4-битный режим увидит, что половинки относятся не к одной команде, а к команде и данным
и как-то разрулит это.
Lagman
Цитата(Энтомолог @ Jul 2 2017, 14:59) *
В 8-bit режиме пропуск данных означает пропуск буквы. Эта ошибка уйдет, как только экран буде обновлен.

Вы забыли что там еще 3 управляющих pina участвует.
В любом случае потеря данных будь то 4 бит или 8 бит называется одним словом гавнокод! Нельзя писать так программы.
Энтомолог
Цитата(Lagman @ Jul 2 2017, 16:31) *
Вы забыли что там еще 3 управляющих pina участвует.
В любом случае потеря данных будь то 4 бит или 8 бит называется одним словом гавнокод! Нельзя писать так программы.


С чего вы взяли, что потеря данных может случиться только из-за программной ошибки?
ViKo
Цитата(Энтомолог @ Jul 2 2017, 14:59) *
Я готов взять вас на работу, чтобы вы лично следили, чтобы ни одна посылка не потерялась.

Я как-то написал программу, которая работала с таким ЖКИ. Работал и работала, ничего не теряла. По документации все сигналы сформировал, так даже и править не пришлось. rolleyes.gif На работу - не, не пойду, я недостаточно усидчив для такой работы. laughing.gif
Lagman
Цитата(Энтомолог @ Jul 2 2017, 16:41) *
С чего вы взяли, что потеря данных может случиться только из-за программной ошибки?

Тогда точно ни 4 ни 8 бит вам не помогут и за все время существования HD44780 никто еще не жаловался на железо, надо делать железо правильно и все будет работать как надо.
adnega
Цитата(Энтомолог @ Jul 2 2017, 16:41) *
С чего вы взяли, что потеря данных может случиться только из-за программной ошибки?

Цитата
Энтомоло́гия (от др.-греч. ἔντομον — насекомое + λόγος — слово, учение) — раздел зоологии, изучающий насекомых

Ваш ник намекает, что с багами встречаетесь часто))

Кста, данные могут не только потеряться, но и исказиться уже внутри дисплея - пролетит частица и изменится битик в управляющем регистре.
Вероятность потери данных в вашем случае из-за аппаратных проблем во много раз ниже, чем из-за программных.
За время, когда вероятность станет ощутима устройство много раз будет перезагружено.

А какие проблемы проверить поведение при потере 4 бит?
adnega
Попробовал в потоке портить каждый 5000 байт (теряю 4 бита).
Дисплей промаргивает, но продолжает работать, т.е. синхронизация на границе байта работает.
Скорее всего, за счет сигнала RS, т.к. передаю не только данные, но и управляющие коды.
Энтомолог
Цитата(adnega @ Jul 2 2017, 20:17) *
Попробовал в потоке портить каждый 5000 байт (теряю 4 бита).
Дисплей промаргивает, но продолжает работать, т.е. синхронизация на границе байта работает.
Скорее всего, за счет сигнала RS, т.к. передаю не только данные, но и управляющие коды.


Спасибо, это полезная информация.
Baser
Цитата(Lagman @ Jul 2 2017, 17:52) *
Тогда точно ни 4 ни 8 бит вам не помогут и за все время существования HD44780 никто еще не жаловался на железо, надо делать железо правильно и все будет работать как надо.

Да надоело уже всем на HD44780 совместимые контроллеры жаловаться, уж больно старые, вот и тихо нынче sm.gif
У них врожденная недоделка - регистры конфигурации можно только записывать, прочитать для проверки нельзя.
А проверять нужно, т.к. при сетевом питании устройства и непрерывном режиме работы эта конфигурация иногда слетает, что программно определить невозможно. Приходится регулярно проводить переинициализацию. И если при 8-и битной шине это "на глаз" незаметно, то при 4-х битной видно "подмаргивание". Но с этим приходится мириться.
Я обычно применяю 4-х битную шину для экономии и переинициализирую каждые 10 сек.
Тысячи приборов десятки лет нормально работают.
Lagman
Цитата(Baser @ Jul 3 2017, 18:44) *
Да надоело уже всем на HD44780 совместимые контроллеры жаловаться, уж больно старые, вот и тихо нынче sm.gif

Ну не знаю, сетевое питание, 4-х битное включение, 24/30/365, на промышленном microPC x86 через LPT , под DOS/micrium, работает без сбоев.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.