Цитата(V_G @ Jun 10 2013, 03:38)

Я вообще не вижу тут необходимости в последовательном резисторе по входу.
Никогда не встречал ситуации "в результате сбоя перенастраивается на выход". При ресете все ноги настраиваются на вход. В своей программе просто не настраивайте ногу на выход. Кто еще ее может перенастроить? Пришельцы?
Последовательные резисторы к выводам МК практикуют ставить при макетировании на этапе отладки программы. То есть, как говорят программисты, в каждой программе (если это не Hello, world, причем написанная не тобой) содержатся ошибки. При ошибках вход может перестроиться в режим выхода, и не пришельцами, а тобой, родимым. Еще бывают коллизии компилятора, чаще всего свободно распространяемого, когда он решает головоломно написанный Си-код и через стек "разваливает" настройку входов/выходов МК.
После макетирования в штатной серии последовательный резистор обычно убирают. Его сопротивление можно безболезненно уменьшить до 240 Ом из расчета допустимого тока по выходу 20 мА (берется из даташита на МК).
Как поступил бы пунктуальный немецкий электронщик? На макетке поставил бы последовательный резистор. Отладил бы программу. После получения работающего кода подключил бы параллельно этому резистору "умный" логический пробник или запоминающий осциллограф, смоделировал бы самые неблагоприятные условия (яркое освещение фототранзистора) и наблюдал бы появление на резисторе хотя бы кратковременно большого напряжения (на случай, если лог.0 все-таки появляется). Если большое напряжение обнаружено, то ищется глюк в программе и устраняется. Если большое напряжение не обнаружено, то резистор заменяется перемычкой.