|

Rejestry portów w Arduino

Porty rejestrów pozwalają na niskopoziomowe manipulowanie pinami I/O.
Arduino posiada 3 porty:
B (piny 8 – 13)
C (analogowe piny wejściowe)
D (piny 0 – 7)

Arduino Uno opis pinów i portów
Arduino Uno opis pinów i portów

Każdy port (B,C,D) jest kontrolowany przez 3 rejestry, x to znak portu (BCD)

DDRx – określa kierunek pinu INPUT [0] / OUTPUT [1] (może być odczytywany i nadpisywany)

PORTx – sygnał LOW / HIGH(może być odczytywany i nadpisywany)

PINx – zczytuje stan wejściowy INPUT (może być tylko odczytywany)

Tabela ustawień pinów na podstawie rejestrów DDR i PORT

DDRxPORTxI/O StatePULLUP
00INPUTNO
01INPUTYES
10OUTPUTNO
11OUTPUTYES
  DDRD = B11111100; // ustawia kierunek pinów dla portu D (0-7), pin 0 i 1 - INPUT, piny 2-7 OUTPUT
  PORTD = B11100000; // ustawia sygnał dla pinów portu D, pin 0-4 LOW, pin 5-7 HIGH

W Arduino istnieje wiele stałych (lub makr), które odnoszą się do rejestrów, np:

DDB0 – to bit nr 0 w rejestrze DDRB (czyli pierwszy pin w sekcji B)

Manipulowanie pinami odpowiedzialnymi za komunikację (0,1) jest niewskazane.

Podobne wpisy

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *