Перейти к содержанию
    

4-bit режим символьного LCD

Имеется индикатор на контроллере HD44780 / KS0066. В 4-bit Режиме данные передаются за 2 такта. Что будет, если одна из половинок будет потеряна? Все последующие символы превратятся в белиберду? Как с этим бороться? Или просто использовать 8-bit режим и с 4-bit не заморачиваться?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Используйте 4-битовый режим и ничего не теряйте.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Используйте 4-битовый режим и ничего не теряйте.

 

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

 

Если данные будут теряться то не поможет и 8 битный режим.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 8-bit режиме пропуск данных означает пропуск буквы.

Не всегда: пропустите управляющую команду - и получите непоймичто навсегда.

По уму нужно не только данные освежать, но и конфигурацию.

Скорее всего, 4-битный режим увидит, что половинки относятся не к одной команде, а к команде и данным

и как-то разрулит это.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 8-bit режиме пропуск данных означает пропуск буквы. Эта ошибка уйдет, как только экран буде обновлен.

Вы забыли что там еще 3 управляющих pina участвует.

В любом случае потеря данных будь то 4 бит или 8 бит называется одним словом гавнокод! Нельзя писать так программы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы забыли что там еще 3 управляющих pina участвует.

В любом случае потеря данных будь то 4 бит или 8 бит называется одним словом гавнокод! Нельзя писать так программы.

 

С чего вы взяли, что потеря данных может случиться только из-за программной ошибки?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Я как-то написал программу, которая работала с таким ЖКИ. Работал и работала, ничего не теряла. По документации все сигналы сформировал, так даже и править не пришлось. :rolleyes: На работу - не, не пойду, я недостаточно усидчив для такой работы. :laughing:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С чего вы взяли, что потеря данных может случиться только из-за программной ошибки?

Тогда точно ни 4 ни 8 бит вам не помогут и за все время существования HD44780 никто еще не жаловался на железо, надо делать железо правильно и все будет работать как надо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С чего вы взяли, что потеря данных может случиться только из-за программной ошибки?

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

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

 

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

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

За время, когда вероятность станет ощутима устройство много раз будет перезагружено.

 

А какие проблемы проверить поведение при потере 4 бит?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробовал в потоке портить каждый 5000 байт (теряю 4 бита).

Дисплей промаргивает, но продолжает работать, т.е. синхронизация на границе байта работает.

Скорее всего, за счет сигнала RS, т.к. передаю не только данные, но и управляющие коды.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробовал в потоке портить каждый 5000 байт (теряю 4 бита).

Дисплей промаргивает, но продолжает работать, т.е. синхронизация на границе байта работает.

Скорее всего, за счет сигнала RS, т.к. передаю не только данные, но и управляющие коды.

 

Спасибо, это полезная информация.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тогда точно ни 4 ни 8 бит вам не помогут и за все время существования HD44780 никто еще не жаловался на железо, надо делать железо правильно и все будет работать как надо.

Да надоело уже всем на HD44780 совместимые контроллеры жаловаться, уж больно старые, вот и тихо нынче :)

У них врожденная недоделка - регистры конфигурации можно только записывать, прочитать для проверки нельзя.

А проверять нужно, т.к. при сетевом питании устройства и непрерывном режиме работы эта конфигурация иногда слетает, что программно определить невозможно. Приходится регулярно проводить переинициализацию. И если при 8-и битной шине это "на глаз" незаметно, то при 4-х битной видно "подмаргивание". Но с этим приходится мириться.

Я обычно применяю 4-х битную шину для экономии и переинициализирую каждые 10 сек.

Тысячи приборов десятки лет нормально работают.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да надоело уже всем на HD44780 совместимые контроллеры жаловаться, уж больно старые, вот и тихо нынче :)

Ну не знаю, сетевое питание, 4-х битное включение, 24/30/365, на промышленном microPC x86 через LPT , под DOS/micrium, работает без сбоев.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...