|
Нужна помощь Atmega8+HD44780 40x2 +клавиатура со светодиодами. |
|
|
|
Dec 28 2014, 06:36
|
Группа: Новичок
Сообщений: 6
Регистрация: 28-12-14
Пользователь №: 84 331

|
В общем нужна помощь знающих. Имеется символьный дисплей LM40x21a на HD44780 2строки 40 знакомест. Клавиатура из 9 кнопок и 8 светодиодов. Ну ещё пьезо-пищалка. Всем этим рулит Atmega8. Устройство предполагается использовать как выносную панель управления. Мозгов особых от неё не нужно, только принимать команды, зажигать нужные диоды, выводить информацию на дисплей и передавать коды нажатых кнопок. Задача не архи сложная. И всё это уже нормально работает в протусе, однако в железе не желает. А происходит вот что, при подаче команды на включение светодиода она выполняется, диод загорается, но дальше устройство зависает и не любые команды из терминала не реагирует. То же самое и с командами вывода на экран, только тут могут сработать несколько команд и потом опять контроллер уходит в себя и не возвращается. Однако на нажатия кнопок он при этом реагирует исправно и посылает коды кнопок в терминал. Смущает то что всё в принципе срабатывает как минимум один раз. А в протусе так вообще всё идёт на ура! Как такое возможно? По железу всё проверено на 100 рядов. Схема, и исходник на CVAVR прилагаются.
|
|
|
|
|
 |
Ответов
|
Dec 29 2014, 20:05
|
Группа: Новичок
Сообщений: 6
Регистрация: 28-12-14
Пользователь №: 84 331

|
Цитата(demiurg1978 @ Dec 29 2014, 20:50)  Несколько правил при написании программ: Никаких магических чисел. Вменяемые названия переменных, битов, портов ввода-вывода. Модульность программ. Разбивайте программы на модули. Клавиатура, дисплей, UART - все это модули. В дальнейшем вы проекты будете собирать как конструктор из кубиков-программных модулей. Автоматное программирование. К примеру, опрос клавиатуры можно (и нужно) сделать на КА (конечный автомат). Цикл статей Татарчевского. Прикрепил архив, там посмотрите примеры. Удачи. Спасибо! Учту рекомендации. Я и так стараюсь примерно так всё и делать, но это не просто. Опыта у меня пока маловато. Примеры пока изучаю. Цитата(Dmitry Dubrovenko @ Dec 29 2014, 23:42)  Выдвину версию, что где-то напортачили с "чтение-модификация-запись". Я примерно так и думаю, но где конкретно пока загадка.
|
|
|
|
|
Dec 30 2014, 08:37
|
Местный
  
Группа: Участник
Сообщений: 333
Регистрация: 19-12-13
Из: Новосибирск
Пользователь №: 79 709

|
Цитата(Pacifist @ Dec 30 2014, 02:05)  Спасибо! Учту рекомендации. Я и так стараюсь примерно так всё и делать, но это не просто. Опыта у меня пока маловато. Примеры пока изучаю.
Я примерно так и думаю, но где конкретно пока загадка. Примеры я вам дал. Иногда есть смысл переосмыслить проект и переписать программу. С учетом вышеизложенных советов... Согласен, сделанного жалко, а что поделать, если не работает? Вам уже посоветовали, разбейте программу на кусочки-модули. Отладили кусочек-модуль, следующий кусочек, так у вас программа и соберется. И ЗАБУДЬТЕ ПРО ПРОТЕУС!!! Симулятор AVR-Studio, собранная железка (пусть даже на макетке), если требуется, программные закладки (светодиодом помигать в нужный момент), осциллограф и ПК (для приема-передачи по UART, раз он у вас есть в проекте). Вот ваши инструменты. А то выросло младое поколение, блин, паяльника в руках не держали, в протеусе все гоняют, а потом плачутся, почему не работает...
Сообщение отредактировал demiurg1978 - Dec 30 2014, 13:31
|
|
|
|
Сообщений в этой теме
Pacifist Нужна помощь Atmega8+HD44780 40x2 +клавиатура со светодиодами. Dec 28 2014, 06:36 kovigor Цитата(Pacifist @ Dec 28 2014, 09:36) Как... Dec 28 2014, 11:48 Pacifist Fuse биту установлены правильно, более того устрой... Dec 28 2014, 12:52 kovigor Цитата(Pacifist @ Dec 28 2014, 15:52) уст... Dec 28 2014, 19:46  demiurg1978 Несколько правил при написании программ:
Никаких м... Dec 29 2014, 14:50 Dmitry Dubrovenko Цитата(Pacifist @ Dec 28 2014, 09:36) в п... Dec 29 2014, 17:42 Pacifist Видимо никто не пытался вникнуть в то что я тут вы... Dec 30 2014, 13:54 kovigor Цитата(Pacifist @ Dec 30 2014, 17:54) И ч... Dec 30 2014, 16:00 Marian Какой смысл выкладывать файл протеуса, если нет др... Dec 31 2014, 13:27 Marian ЦитатаКакой смысл выкладывать файл протеуса, если ... Jan 1 2015, 19:46 Pacifist Цитата(Marian @ Dec 31 2014, 19:27) Какой... Jan 7 2015, 06:34 demiurg1978 Еще раз, забудьте о протеусе. И плевать, что в нем... Jan 7 2015, 08:23 Pacifist А вот и нет, не накосячил. Нашёл в чём беда. А дел... Jan 7 2015, 08:44 demiurg1978 "Я его не брошу, потому что он хороший".... Jan 7 2015, 08:54
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|