Я использую микро ATmega128 и иметь все мой штифт inits набора для вывода и установить на низкий при моей основной части коды:ATMega128 Выход мерцает Запуск
PORTB=0x00;
DDRB=0xFF;
Однако при запуске, выход, связанной при этом PORTB.0 показывает максимум на долю секунды (я поймал его в области), и, похоже, другие выходы делают то же самое. Похоже, он идет LOW-HIGH-LOW. Я сделал некоторые чтения, что это может быть вызвано три-состояния для вывода переключателя во время запуска, поэтому я установил регистр PUD на 1 до ввода вывода, а затем вернулся к 0 после и все равно не повезло. Есть ли у кого-нибудь какие-либо идеи, чтобы сохранить этот выход во время запуска? Это не всегда происходит, и это то, что меня озадачило.
У вас есть резисторы смещения? –
Хорошо сделано, по крайней мере, для записи данных порта перед настройкой в качестве вывода. –
Это почти наверняка аппаратный вопрос, а не проблема с программным обеспечением, и вы должны опубликовать его на http://electronics.stackexchange.com/. GPIO - высокоимпедансные входы при сбросе, а уровень, измеренный с помощью области действия, будет зависеть от схемы, подключенной к штырю. Если это проблема, и вам нужен определенный уровень при запуске, используйте подтягивающий или выпадающий резистор, то есть уровень должен быть извне, потому что вход не будет управлять им - он плавает. – Clifford