PORT - это буфер OUTPUT, PIN-код - это буфер INPUT.
Если вы хотите установить на выводе «высокое» или «низкое» напряжение, запишите в регистр PORT.
Если вы хотите узнать, какое напряжение в настоящее время подается на контакт, прочитайте регистр PIN.
Биты этих регистров представляют соответствующие выводы универсального порта ввода / вывода.
Вот упрощенная схема электроники внутри AVR, подключенного к одному выводу (см. Здесь для полных таблиц данных).
Этот блок схемы повторяется для каждого контакта. Восемь из них образуют порт (например, порт A).
Начиная с самого левого квадрата (который представляет физическую связь с внешним миром), вы можете увидеть три пути:
- Самым верхним путем является выбираемый программно подтягивающий резистор
- Средний путь используется, когда штифт настроен как выход
- Самый низкий путь используется, когда вывод сконфигурирован как вход
Следует отметить, что некоторые или все эти схемы могут быть обойдены, когда вывод используется совместно с внутренней периферией. Например, аналого-цифровой преобразователь (АЦП).