Arduino är Slow- och hur man fixar det! (5 / 5 steg)
Steg 5: Gå längre
Är du typen av person som vill veta hur allt fungerar?Vad händer när du berätta en PIN-kod för hög eller för låg är egentligen att du ändrar ett 8-bitars register. (Kom ihåg hur stiften går från A0-A7, B0-B7? 8 stift per brev, så dessa 8 stift är växlas genom att ett register). Ett register har 8 bitar (varje bit kan vara 0 eller 1).
När du kör kommandot för att sätta en hög pin, anges lämplig bit i registret till 0. (1 skulle vara låg).
Att ha 8 stift växlas av ett register kan också ha sina fördelar, främst att du kan växla mellan någon av de 8 stift nästan samtidigt.
Till exempel, om jag ville vända stift C0 till hög C6 och C7 låg, skulle kommandot vara:
PORTC = 0b10000000;
Notera hur den första pin nummer kommer efter "b" är stift 7 och det går ner därifrån tills pin 0.
0b10000000 är en 8-bitars binärt tal, kan du konvertera den till hex för ett renare utseende. Göra det manuellt är en smärta (men användbar kunskap), en enklare metod är att google "0b10000000 till hex", vilket resulterar i "0x80".
PORTC = 0X80;
För vidare läsning, se här:
http://www.AVRfreaks.net/index.php?Name=PNphpBB2&file=viewtopic&t=37871
http://www.Arduino.cc/cgi-bin/yabb2/YaBB.pl?NUM=1230286016
(tack gmoon och westfw för länkarna)