Цитата(Bird2 @ Nov 18 2007, 14:13)

Вы правильно поняли. Перед чтением данных с порта сначала устанавливаем его в 0xFF.
А что значит "по-настоящему двунаправленный порт" ?

не совсем правильно сформулировал мысль:
имел в виду, что например, у AVR есть регистр направления и четко разделенные режим чтения состояния вывода порта, и режим формирования логического уровня напряжения на выводе порта.
Если вывод порта настроен на выход, то он именно в этом режиме и работает.
Т.е. и 1 и 0 на его выходе могут, например, зажечь светодиод (естественно при соответствующей схеме подключения).
А если выбран режим чтения, то именно эта функция реализована. При этом можно либо подключить встроенный подтягивающий резистор или от ключить его.