hardlock писал(а):
А что у Вас получилось с прошивкой на пульт?
Прошивку изменил как описал выше(т.е. по сути убрал запреты/разрешения прерываний чтобы исключить начало следующего прерывания до окончания текущего и ввел задержку между изменением сигнала на пинах и чтением с портов - это для случая оптимизации компилятора по скорости, т.е. когда проверка состояния порта происходит следующей командой после изменения).
Все работает отлично(т.е. можно смело существенно править код и глюков не будет). Буду дома - скину исходники. В пульте есть один косячок: я использую батарейки типа "таблетки" CR2025 -2шт. По прошествию трех недель замерил напряжение - напряжение просело до примерно 4.5в... т.е. хоть микропроцессор и в спячке - но батарейку кушает. На сколько я понял в режиме sleep он вообще не должен потреблять... или все-же должен? Может это из-за того, что мы держим 1 на ногах кнопок? Хотя возможно нужно проверить транзистор - может он не до конца закрыт(я пока только учусь, поэтому пока тестером не измерю - не могу предположить что и сколько потребляет

)... Возможно имеет смысл использовать Tiny2313v - которая насколько я понял более экономична.
Кстати, я тут еще подумал, по идее можно кнопки разрулить чуток по другому без переделки(почти) схемы. Внешних прерываний у микропроцессора 3(два Int0 и Int1 и прерывание по изменению состояния на PCINT0-PCINT7). Т.е. в последнем случае происходит прерывание по изменению сигнала на порту B... а на нем у нас висят кнопки. Причем в микропроцессору можно указать на какие ноги реагировать. Т.о. можно создать прерывание по изменению статуса пинов с кнопками. По схеме режем провод который идет от кнопок на INT 0, и вешаем его на +5 или землю перемычкой. На этих пинах включаем подтягивающие резисторы(а может это и не нужно) и меняем код программы под новые условия. Тогда по идее и нажатия проверять проще(т.е. сработало прерывание - проверяем где на каком пине 1 или 0 - то и нажато + задержка на антидребезг. причем прямо в коде прерывания, т.к. таймеров нет и на продолжительность прерывания нам пофиг). Но этот вариант прерывания я еще нигде не проверял поэтому хочу какнить прикупить макетную платку(чтобы не паять) и проверить.
А так в общем все устраивает и уже реально оценил удобство наличия пульта, причем в самом неожиданом варианте: нужно было отсканировать документы. Сканер - как назло умер. Повесил фотоаппарат над столом. Настроил. Конструкция получилась шаткой - трогать нельзя(качается, а снимать нужно с достаточно большой выдержкой, т.к. света мало). А с пультом - сказка. Подложил страницу, нажал на кнопку пульта - щелк и готово. Кладешь следующую. В итоге быстрее чем на сканере и удобно
