Инструкции

Справочный раздел

В этом разделе Вы найдетё инструкции, справочники, и всевозможные хелпы по использованию программного обеспечения.

Разделы инструкций

В сети

Пользователей: 135
Из них просматривают:
Аналоги: 61. Даташиты: 38. Инструкции: 13. Новости: 5. Остальное: 2. Профиль пользователя: 5. Расчёты: 1. Теги: 2. Форум: 7. Чат: 1.
Участников: 3
Гостей: 132

an , Google , Яндекс , далее...
Рекорд 2375 человек онлайн установлен 26.12.2015.

Партнёры


Партнёры

Новые объявления

В настоящее время нет объявлений.
Оглавление

Управление портами через регистры ATmega

Использование встроенных функций Arduino для работы с выводами очень удобно. Однако за удобство приходится платить быстродействием. В большинстве программ это не принципиально, но иногда имеет решающее значение. В таких случаях необходимо управлять портами Arduino напрямую через регистры ATmega. При этом мы не только увеличиваем быстродействие, но еще и уменьшаем размер программы.
Рассмотрим таблицу соответствия выводов Arduino портам микроконтроллера ATmega 168
 
Управление портами через регистры ATmega
 
Что мы видим:
PORTD — цифровые выводы Arduino от D0-D7;
PORTB — цифровые выводы Arduino от D8-D13;
PORTC — аналоговые выводы Arduino A0-A5 (А6-А7 доступны в Arduino Mini, Nano).
 
Для установки выводов и чтения записи данных используются следующие команды:
DDRD, DDRB, DDRC — для установки назначения выводов (направления передачи данных) соответствующих портов (0 — input, 1 — output);
PORTD, PORTB, PORTC — регистр установки данных на выводах соответствующего порта;
PIND, PINB, PINC — считывание данных всех контактов соответствующего порта.
 
Используя эти команды, можно заменить стандартные функции Arduino для управления выводами. Например:

 

// pinMode(13,INPUT)
DDRB = DDRB & B11011111
// pinMode(5,OUTPUT)
DDRD = DDRD | B00100000
// digitalWrite(7,HIGH)
PORTB = PORTB | B10000000
// digitalRead(10,HIGH)
PINB = (PINB & B00000100)>>2

Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.

Разное

Интересно

Контактные щетки для микродеталей, электробритв и т.п. можно выпилить из графитовых стержней от старых батареек питания.

Похожие инструкции