Таблицы для микроконтроллеров AVR достаточно хороши для чтения. Просто Google для точного контроллера на вашем Arduino (например, ATmege328) и найти «полную» таблицу данных на веб-сайте atmel.com . Не загружайте «Сводку», она не содержит много информации. Загрузите таблицу данных с atmel.com, это единственное место с самой последней документацией.
В базовом IO используются три регистра (см. Главу «Порты ввода-вывода»):
Где n - идентификатор порта, буква в диапазоне от A, B, C, ... в зависимости от количества выводов ввода-вывода, которые имеет ваш контроллер. Каждый бит в каждом регистре представляет один вывод GPIO (да, вам нужны базовые знания о двоичном коде, чтобы полностью это понять).
- DDR n , регистр направления данных: это в основном конфигурирует вывод для входа (0) или выхода (1).
- PORT n , Port n Data Register: когда вывод установлен как выходной, соответствующий бит переключает выходной вывод на высокий (1) или низкий (0). При настройке в качестве входа это обеспечивает слабый подтягивающий резистор на выходном контакте.
- PIN n , регистр ввода n порта: используйте этот регистр для считывания текущего уровня на выводе, который настроен как вход.