Здравствуйте!
У меня 5 пинов PB0, PB6, PB4, PB5 и PB7 предназначены для кнопок. Т.е. анализируется, нажата ли кнопка, один контакт которой подсоединен к соответствующему пину, второй к плюсу питания.
с PB0 и PB6 все нормально.
С остальными же проблемы - то они ловят единицу, то нет (у меня на других портах, настроеных на вывод светодиоды стоят). Ну в общем похоже на то, что ловят шумы. Может быть дело в разводке платы, не знаю, но повторюсь с первыми двумя пинами все ОК. При подключении к проблемным пинам резистора 10 кОм это явление исчезает. Пытаюсь использовать внутренние подтягивающие резисторы. Может быть неправильно делаю, подскажите.
Делаю так:
DDRB=0x00;
PORTB=0x00;
Это, получается pullup отключены. Результат - PB0 и PB6 работают нормально, PB4,PB5 и PB7 - глючат.
Подключаю pullup:
DDRB=0x00;
PORTB=0xFF;
ТОгда единицы ловятся на всех пинах. Напряжение при этом на входах - менее 0,2 вольт, что подтверждаает что это именно шумы.
Может быть я не правлиьно управляю портами?
Подскажите как найти проблему? СТавить внешние подтягивающие из принципа не хочу.
Спасибо.