Begin van de Arduino (poorten, Pins en programmering) (5 / 6 stap)

Stap 5: Programmering poorten


Havens zijn groepen van pinnen.  In de arduino, pinnen 0-7 worden gecontroleerd door poort D en pinnen 8-13 zijn gecontroleerd door poort B.
Voordelen van het gebruik van de havens: sneller dan gaan per pin, neemt minder code voor een kleinere programma
Nadelen: Moeilijker om te gebruiken en debuggen

Ik heb willekeurig gekozen poort D als mijn poort.
Aantal fundamentele dingen om te onthouden voor het gebruik van poorten
Variabelen (X moet worden vervangen door de juiste poort letter)
DDRX--Data richting Register-bepaalt welke manier gegevensstroom moet voor elke pin op de poort (0 is input, 1 uitgang)
PORTX--gegevens registreren--bezit welke gegevens is die uitgang/ingang naar de pinnen
PINX--Input pinnen registreren

De pinnen in het register zijn gerangschikt van laag getal = minst significante Bit hoogste getal - meest significante Bit (dus om de pinnen 0-3 te gelijk aan 0 en 4-7 op gelijke 1 zou het PORTD = B11110000)

Voorbeeldcode
int delayTime = 333; Het wordt beter codeerstijl om niet alle hard-gecodeerde constanten zoals in het vorige voorbeeld
byte portD_HIGH = B11111000;
byte portD_LOW = B00000000;

VOID Setup
{
DDRD = DDRD | B11111100;  Stelt de pennen voor uitvoer
een blik op wat we hebben net deed
de | symbool wordt gebruikt als bitsgewijze of (als beide bits 1 is, resultaat 1)
Dit gaat via het register, ORing elke bit met het binaire bestand aan de rechterkant van de |
de B maakt de compiler Lees 11111100 als binaire
Dus in samenvatting het pinnen 2-7 naar uitvoer ingesteld en 1 en 2 laat (die soms
hebben speciale functies) alleen
}

void loop
{
PORTD = portD_HIGH;  sets pin ledPin High (dus pin 13 is ingesteld op 1)
delay(delayTime);                             wacht 333ms of ~1/3 sec
PORTD = portD_LOW;  sets pin ledPin op laag (pin 13 is dus nu gelijk is aan 0)
delay(delayTime);                             wacht een ander 333 ms
} //end van de lus-subroutine, dus het nu naar het begin terugkeren zal

Alle 5 LEDs moeten nu knipperen vrolijk weg.

Gerelateerde Artikelen

ESP8266 ESP-12E NodeMCU met behulp van de Arduino IDE - een Tutorial programmering

ESP8266 ESP-12E NodeMCU met behulp van de Arduino IDE - een Tutorial programmering

NodeMCU Dev Board is gebaseerd op grote schaal onderzocht esp8266 systeem op Spaander van Expressif. Het gecombineerde functies van WIFI accesspoint en station + microcontroller en gebruikt eenvoudige LUA gebaseerde programmeertaal. ESP8266 NodeMCU a
De Pee-Timer: Aansluiten van de Arduino, de Intel perceptuele Computing Camera en een Submersible waterpomp

De Pee-Timer: Aansluiten van de Arduino, de Intel perceptuele Computing Camera en een Submersible waterpomp

In deze Instructables we wandelen door hoe we verbonden een Intel perceptuele Computing Camera, een Arduino Uno en een submersible waterpomp zodat de waterpomp water van een vaartuig naar een ander wanneer brengt niemand zit voor de camera.We hebben
Zet een N64-Controller in een USB-Gamepad met behulp van een Arduino Leonardo

Zet een N64-Controller in een USB-Gamepad met behulp van een Arduino Leonardo

De gemakkelijkste manier om te zetten een N64-Controller in een USB-Gamepad is om te kopen een N64-Controller-Adapter voor ongeveer £15. Maar het kan ook worden gedaan hebt u een Arduino Leonardo of elke andere Arduino board met ingebouwde USB-commun
Een draadloos gecontroleerd, de Raad van het bericht van de Arduino-Powered

Een draadloos gecontroleerd, de Raad van het bericht van de Arduino-Powered

bouwen zelf een draadloos gecontroleerde, Arduino aangedreven message board!Hier is een eenvoudig project waardoor een draadloos programmeerbaar message board. Het gebruik XBee modules ten behoeve van een draadloze seriële verbinding tussen uw comput
Seriële monitor ATtiny met behulp van de arduino walkthrough

Seriële monitor ATtiny met behulp van de arduino walkthrough

Allllllllllright dudes en dudets. Hier is whats up, we gonna attiny en arduino beste vrienden maken.Als u ooit hebt gewerkt met capacitieve switches weet u hoeveel het maakt je wilt je gezicht in een muur breken... Nu veronderstellen u hebben geen ma
Met behulp van de Arduino Uno naar programma ATTINY84-20PU

Met behulp van de Arduino Uno naar programma ATTINY84-20PU

Met behulp van de Arduino Uno naar programma ATTINY84-20PU (Newark item # 68T3783). Dit Instructable laat zien hoe met de Arduino platform om te werken met fysiek kleiner processors, zoals de ATtiny84 (84/44/24), ATtiny85 (85/45/25), en ATtiny2313. I
Beheersing van 20 Led's van 5 pins van de Arduino met behulp van Charlieplexing

Beheersing van 20 Led's van 5 pins van de Arduino met behulp van Charlieplexing

vandaag, ik zal je laten zien hoe u kunt besturen 20 LED's van slechts 5 pins van de Arduino. Ik ben bezig met een project waar ik controle 15 LED's, 3 knoppen, 3 moet zeven segment displays en een RGB-orb van een Arduino. Nu als u werkt het uit, je
Mededeling van de Arduino USB - Processing programma

Mededeling van de Arduino USB - Processing programma

aangezien ik had wat problemen op zoek naar informatie over het communiceren van de Arduino board met het computerprogramma, heb ik besloten om deze tutorial.Dit leerprogramma zal u tonen hoe te doen een eenvoudig programma (met een gebruikersvriende
Programmering ATmega16A met behulp van de arduino IDE

Programmering ATmega16A met behulp van de arduino IDE

Assalamualaikum warahmatullahi wabarakatuhHallo, is mijn naam Ekky Hermestian IW uit IndonesiëDit leerprogramma zal u tonen hoe te programmeren van een ATmega16 met behulp van de Arduino IDEWe kunnen gebruiken syntaxis zoalspinMode()digitalWrite()dig
5 knoppen toegang via 1 pin van de Arduino - Revisited

5 knoppen toegang via 1 pin van de Arduino - Revisited

ik heb gemaakt van de oorspronkelijke Instructible dat dit is gebaseerd op meer dan een jaar geleden (je ziet het hier en Bekijk enkele van de theorie rond hoe dit werkt:). Om een lang verhaal kort, ik verplaatst naar een ander land een paar weken na
Controle van uw arduino vanaf uw PC met de Qt Gui

Controle van uw arduino vanaf uw PC met de Qt Gui

voor mijn eerste instructable ik zal u tonen het gebruik van Qt voor grafische interfaces voor je arduino (of elk apparaat rs232) makenDus als u maken van uw eigen grafische interfaces wilt, u bepalen spullen gewoon door te klikken op knoppen van uw
Eenvoudige WF32 programmeren met behulp van de Arduino IDE

Eenvoudige WF32 programmeren met behulp van de Arduino IDE

Deze handleiding krijgt u begon met basic Arduino IDE programmeren met behulp van uw chipKIT WF32 board. Voordat je kunt krijgen bij het programmeren van je board is een paar stappen nodig om de troep op opwaarts.Wat u nodig zult hebben is uw WF32 be
Maak een Web aangesloten Robot (voor ongeveer $500) (met behulp van een Arduino en Netbook)

Maak een Web aangesloten Robot (voor ongeveer $500) (met behulp van een Arduino en Netbook)

dit Instructable zal u tonen hoe te bouwen van uw eigen Web aangesloten Robot (met behulp van een Arduino micro-controller en de Asus eee pc).Waarom zou u een Web aangesloten Robot willen? Om mee te spelen natuurlijk. Rijd uw robot van hele kamer of
Programmeren van een Arduino met behulp van BeagleBone, zonder USB

Programmeren van een Arduino met behulp van BeagleBone, zonder USB

als je gezien mijn BeagleBone/Arduino seriële communicatie gids, u kan hebben gewacht voor deze!  Als u het nog niet gezien, ga eerst lezen omdat we 100% Voortbouwend op dat kader.  Ik ga niet herhalen die instructie hier.Het einddoel is om te kunnen