Étape 3: Exspearimintation
Dans cette expérience, j’ai cherché à savoir combien de temps il prend le commandement de digitalWrite() pour exécuter 1000 fois, et puis combien de temps il a fallu le style « c vrai » commande à exécuter 1000 fois. Le code est assez simple et montrés ci-dessous : void setup() {Serial.begin(9600);} void loop() {int initial = 0 ; final int = 0 ; initial = micros() ; pour (int i = 0; i < 500; i ++) {digitalWrite(13,HIGH) ; digitalWrite(13,LOW) ; } final = micros() ; Serial.Print ("du temps pour digitalWrite():") ; Serial.Print(final-initial) ; Serial.println("") ; initial = micros() ; pour (int i = 0; i < 500; i ++) {PORTB | = _BV(PB5) ; PORTB & = ~ _BV(PB5) ; } final = micros() ; Serial.Print ("temps de commande c vrai:") ; Serial.Print(final-initial) ; while(1) ; } N’hésitez pas à essayer vous-même. Voici les résultats que j’ai reçu: (Seeeduino avec ATMega168) temps pour digitalWrite() : 3804 fois pour commande c vrai : 348
Donc chaque style allumé la broche 500 fois et il éteint retour de 500 fois. digitalWrite() a pris 3804 microsecondes, tandis que les commandes c vrais a pris seulement 348 microsecondes. Les commandes c vrais sont 10 fois plus vite que le digitalWrite() !
Essayez cette expérience par vous-même, tout ce dont vous avez besoin est un arduino et un ordinateur.