Ce tutoriel présente l’utilisation d’un timer avec la carte Esus. La fréquence du microcontrôleur ESP8266 est de 80Mhz soit 12.5ns le cycle processeur.
Exemple n°1
L’exemple n°1 permet de faire clignoter une led toute les secondes. La led est câble sur la sortie IO2 de la carte Esus.
#include <esusBoard.h>// (80Mhz frequence ESP8266) 1 cycle = 12.5ns => 1seconde/12.5ns = 80000000const int timer_period=80000000;void setup() { initEsusBoard();// sortie 2 pour la led pinMode(2, OUTPUT); noInterrupts();
// initialisation timer 0 avec interruption timer0_isr_init();
// spécifie la fonction à appeler lorsqu'une interruption du timer survient timer0_attachInterrupt(handler);// période du timer timer0_write(ESP.getCycleCount() + timer_period); interrupts();}void loop(){}void handler(void){ timer0_write(ESP.getCycleCount() + timer_period);// toggle sortie 2 digitalWrite(2, !digitalRead(2));}
Exemple n°2
L’exemple n°2 permet de faire clignoter une led toute les 5 secondes. La led est câblé sur la sortie IO2 de la carte Esus.