jalga. AVR arhitektuuris pordi tööd määravad 3 IO registrit. Alustades mikroprotsessori programmeerimist, on portide konfigureerimine esimene ülesanne, sest enne kui mikrokontroller hakkab väliste seadmetega ,,suhtlema", peab olema ära määratud milliste väljaviikude kaudu liiguvad andmed mikrokontrollerisse sisse ja milliste väljaviikude kaudu liiguvad andmed mikrokontrollerist välja. Võtame näiteks pordi B, mis koosneb kolmest registrist PORTB, DDRB ja PINB. PORTB B pordi väljundregister. Kõik andmed mida tahetakse mikrokontrollerist välja saata, tuleb saata siia registrisse. Number 0x05 on registri PORTB nimi mikrokontrolleris. Selleks, et saata andmeid registrile PORTB, tuleb saata andmed aadressile 0x05. Väljundregistrisse saadetud andmed jõuavad väljundisse loomulikult ainult siis kui antud väljaviik on määratud väljundiks. DDRB B pordi suunaregister. Selle registriga määratakse ära milline väljaviik on sisend ja milline väljund
Siin ma esitada riistvara samaväärne "Hello World" - vilk
valgus.
Kõigepealt vaatame pin kaart . Me näeme, et Arduino pin 13 on PB5 on ATmega168 - osa port B. Et
kasutada seda pin, port B kõigepealt tuleb olla väljund pin. On mitmeid viise, kuidas seda teha, [2] -
kirjalikult Port B Andmete suund loomist, [3] aadressil 0x24 või laisk / parem, kasutades DDRB
makro. Hoiame asjad lihtsad ja seada kogu port väljund DDRB = 0xFF; . Lõpuks saame alustada kirjali
PORTB (aadress 0x25).
Lihtne lahendus oleks oleks teha midagi sellist:
while (1) {
PORTB = 0xFF;
_delay_ms (500)
PORTB = 0x00;
_delay_ms (500);
}
mis kasutab viivitus rutiin määratletud