Programowanie progesorów Atmela z wykorzystaniem kompilatora GCC

Inicjacja portu
PORTx.DIR Ustalanie który pin w bramie ma być wyjściema a który wejściem.
PORTx.DIR
PORTx.DIRSET
PORTx.DIRCLR

PORTx to jest nazwa dostępnego portu w procesorze np. PORTC
PORTx.DIR = 255; // wszystkie piny wyjście
PORTx.DIR = PIN4_bm; // pin 4 wyjście 
PORTx.DIR = PIN4_bm | PIN0_bm; // pin 4 i 0 jako wyjście 0b00010001 
PORTx.DIRSET = PIN4_bm; // pin 4 wyjście 
PORTx.DIRCLR = PIN4_bm; // pin 4 jako wejście
Ustawnianie pinu w porcie.
PORTx.OUT Ustalanie który pin w bramie ma być wyjściema a który wejściem.
PORTx.OUT
PORTx.OUTSET = ustaw na 1
PORTx.OUTCLR = ustaw na 0

PORTx to jest nazwa dostępnego portu w procesorze np. PORTC
PORTx.OUT = 255; // ustaw wszystkie piny na 1
PORTx.OUT = PIN4_bm; // pin 4 na 1 
PORTx.OUT = PIN4_bm | PIN0_bm; // pin 4 i 0 na 1 
PORTx.OUTSET = PIN4_bm; // pin 4 na 1 
PORTx.OUTCLR = PIN4_bm; // pin 4 na 0 
Czytanie wejścia.
PORTx.IN Operacje pozwala natychmiastowo ustawić pin na 0 bez zmiany pozostałych w porcie. 
Odpowienik PORTB &=~(1<<PB1);

Operacja w pamięci zajmuje 1 bajt

PORTB.OUTCLR = PIN1_bm;

Czytanie flagi
PORTx.INTFLAGS
Czytanie flagi przerwań

Szybkość zmiany portu?
PORTx.PORTCTRL
co to?

Kasowanie flag pinów
PORTx.PINxCTRL Wartości od 0 to 7
PORTx.PIN0CTRL
PORTx.PIN1CTRL
PORTx.PIN2CTRL
PORTx.PIN3CTRL
PORTx.PIN4CTRL
PORTx.PIN5CTRL
PORTx.PIN6CTRL
PORTx.PIN7CTRL

Dasej (C) 2019 : 4236