[Mise à jour le 26/4/2021]
// Le code met le programme en pause pendant une seconde avant de faire basculer l'état logique de la broche. int ledPin = 13; // LED connected to digital pin 13 void setup() { pinMode(ledPin, OUTPUT); // sets the digital pin as output } void loop() { digitalWrite(ledPin, HIGH); // sets the LED on delay(1000); // waits for a second digitalWrite(ledPin, LOW); // sets the LED off delay(1000); // waits for a second }
// Le code configure la broche numéro 8 en sortie. // Il envoie un train d'impulsions d'une période d'environ 100 microsecondes. // L'approximation est due à l'exécution des autres instructions. int outPin = 8; // digital pin 8 void setup() { pinMode(outPin, OUTPUT); // sets the digital pin as output } void loop() { digitalWrite(outPin, HIGH); // sets the pin on delayMicroseconds(50); // pauses for 50 microseconds digitalWrite(outPin, LOW); // sets the pin off delayMicroseconds(50); // pauses for 50 microseconds }
// Répétition d'un bloc de code tous les intervalles de temps sans bloquer le programme unsigned long previousMillis = 0; // Mémorise le temps écoulé depuis la dernière mesure const long interval = 1000; // Durée non bloquante souhaitée void setup() { // Le contenu de setup dépend de l'application } void loop() { // Mesure du temps écoulé depuis que le programme s'exécute unsigned long currentMillis = millis(); // Si l'attente souhaitée est atteinte on exécute le bloc de code if (currentMillis - previousMillis >= interval) { // la mesure de temps actuelle devient la dernière mesure previousMillis = currentMillis; // // Bloc de code à exécuter tous les intervalles de temps // } // // sinon d'autres actions sont possibles // }
unsigned long time; void setup() { Serial.begin(9600); } void loop() { Serial.print("Time: "); time = micros(); Serial.println(time); delay(1000); }
attachInterrupt(digitalPinToInterrupt(pin), ISR, mode)
// Le front montant du signal présent sur la broche 3 de la carte Arduino Uno // déclenche l'exécution du sous-programme blink const byte ledPin = 11; // O0 du shield Tinkerkit const byte interruptPin = 3; // O5 du shield Tinkerkit volatile byte state = LOW; void setup() { pinMode(ledPin, OUTPUT); pinMode(interruptPin, INPUT_PULLUP); attachInterrupt(digitalPinToInterrupt(interruptPin), blink, CHANGE); } void loop() { digitalWrite(ledPin, state); } void blink() { state = !state; }
La fonction detachInterrupt() désactive l'interruption donnée.
detachInterrupt(digitalPinToInterrupt(pin))