Цитата(ae_ @ Jan 25 2013, 17:37)

Читать PINx можно в любое время, сигнал = реальному напряжению на пине, не важно вход это или выход.
Чтение PORTx при DDRx=1(порт как выход) будет = PINx, если пин не перегружен(КЗ на GND или VCC) или если не включены альтернативные функции для этого пина(TXD, OC1x, и т.п.).
Чтение PORTx при DDRx=0(порт как вход) будет показывать состояние pull-up резисторов для этого порта.
Состояние пина лучше всегда читать из PINx.
Спасибо за ответ.
Вот строки "И наоборот, если например, PX5 настроен на вывод, то прочитав 5-й бит PinD, мы всегда обнаружим 0.
Порты - дело тонкое…"
Взято отсюда
http://radiokot.ru/start/mcu_fpga/avr/06/