Stap 4: Elke Bit iets doet
Omdat er 8 bits, dan zijn de toegestane aantallen 0 tot en met 255. Aangezien elke bit een PIN-code vertegenwoordigt, kan dan een willekeurig getal dat u naar het register schrijven meerdere pinnen beïnvloeden.
Bijvoorbeeld, als u het decimale getal 10 schrijft of in binaire 00001010. Voor elke 0 zijn u uitschakelen van de pin, en voor elke 1 u draaien op de pin. U PIN PB1 en PB3 ingeschakeld, en u pinnen PB0, PB2, PB4-PB7 uitgeschakeld. Op de Arduino u pinnen 9 & 11 ingeschakeld en uitgeschakeld 8, 10, 12, 13, xtal1, & xtal2.
http://www.AVR-tutorials.com/Digital/Digital-input...
Voorbeeldcode 2.
PORTB = B01100000 / / B00001010 schrijven naar poort B
Poort B i/o | PB7 | PB6 | PB5 | PB4 | PB3 | PB2 |
PB1
PB0
Gegevensbyte
B00001010
0
0
0
0
1
0
1
0
Arduino Pins
Crystal2
Crystal1
Pin13
Pin12
Pin11
Pin10
Pin9
Pin8
Status
(Aan/uit)
Uitschakelen
Uitschakelen
Uitschakelen
Uitschakelen
Op
Uitschakelen
Op
Uitschakelen
Wijzigen van de digitale pinnen is ok, maar eventueel schakelen de crystal pinnen problemen kan veroorzaken. Dat zou een slechte zaak voor een beginner om te doen. Dit is een ander voordeel van de werking van de programmering van Arduino door te voorkomen dat u zulk een grote fout maken.
Soms zal de Arduino-manier maak je meer lijnen van code schrijven. In plaats van draaien in- / uitschakelen digitale pinnen 9-13 allemaal tegelijk hebt u individueel om code te schrijven om te schakelen aan/uit elke pin afzonderlijk. Dat is meer code en microseconden langzamer.
De tragere code is een goede afweging, omdat het maakt je code veel veiliger en makkelijker te schrijven.