Op de Arduino, en alle Atmel microcontrollers is verwerking snel bij gebruik van de Arduino IDE. Maar de input/output is erg traag. Hebt u een tijdkritisch kunnen programma digitalRead() en digitalWrite() vertragen het alot. Bij het schrijven van dit instructable ik ontdekte hoe veel. Toen ik begon had ik acht LEDS. Het werkte boete de eerste keer door maar hoe langer het liep meer vermengd met de timing werd. Het om simpel te houden overgeschakeld ik naar vier LED's het probleem op te lossen.
Het is mogelijk gebruik van lager niveau opdrachten te sterk versnellen de input/output.
Er zijn drie banken van pinnen op de 328 Atmega en 168 microcontrollers genaamd B, C en D.
- De B-bank is digitale pinnen 8-13.
- De C-bank is de analoge input pinnen.
- Bank D is pinnen 0 - 7.
Elke bank voor pinnen heeft drie 8-bit registers gebruikt om het te controleren:
- Het register van de DDR is de richting van de gegevens, 0 = ingang, 1 = output.
- Het register van de PIN wordt gebruikt om de digitale waarde van de pin te lezen.
- Het register van de poort heeft twee functies:
- Als de DDR registreert is ingesteld op 0 wordt de pin laag 1 ingesteld het hoog en de uitgang.
- Als het DDR-register is ingesteld op ingang 1 draait op de interne pull-up weerstand.