Скетч "Blink". Почему мигает вполсилы встроенный диод, когда не инициализировать порт?

Krendelyok
Offline
Зарегистрирован: 05.10.2016

Имеется такой вариант ардуино Уно. 

При первом знакомстве с ардуино убрал инициализацию порта из скетча "Blink" и обнаружил, что встроенный светодиод при выполнении скетча "Blink" продолжает мигать наглым образом примерно 10% от своей яркости. Я примерно догадываюсь, что это связано с подтягивающим резистором. Но он же должен быть отключен по умолчанию? И почему команда digitalWrite  влияет на состояние не инициализированного порта?

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Krendelyok пишет:

Я примерно догадываюсь, что это связано с подтягивающим резистором.

Именно так. Неинициализированный пин изначально находится в режиме входа. Если в режиме входа подать на него высокий уровень (лог.1, HIGH), то к пину подключится подтягивающий резистор (Pull Up) внутри микроконтроллера (это особенность AVR). Через этот подтягивающий резистор проходит небольшой ток и светодиод слегка светится.