Я разработал где-то десятка полтора устройств с HD44780 и время от времени приходилось сталкиваться с "галюцинациями" - то цифирь подмаргивает то что - то возникает и исчезает незапланированое особенно этиим грешат четырёхстрочные дисплеи . Дело в том что они не любят когда их дергают когда - нипопадя а ещё хуже когда бросают на полпути.( скажем контрол. дисплея получил позицию и програма ушла по на обработку прерывания. Что бы этого не происходило я делаю так: 1. Отвожу область в ОЗУ ( для самого крутого дисплея всего 80 байт) под образ дисплея (некий VRAM) и в программе ,где надо просто вписываю (или выписываю) командами ОЗУ всяку лабуду к просмотру 2.Изготавливаю "биолгический" таймер на 0.5-0.6 секунд который своим обработчиком время от времени переносит всю область ОЗУ в дисплей - забиваю это отдельным файлом и втыкаю .inсludом в прогу на этом я забываю обо всем что связано с дисплеем. Подпрога получается маленькая - так как мы прочёсываем ОЗУ равномерно т.е. можно пользоваться процедурами инкрементировония адреса ОЗУ и при этом никаких "подмаргиваний дисплея"
--------------------
никогда не бывает так плохо чтобы небыло ещё хуже
|