Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Messages - jowell88

Pages: [1]
1
Débuter / Re : Programmer le timer0 pour faire clignoter une led
« le: février 09, 2018, 08:24:37 pm »
Et bien merci beaucoup à vous deux  :)

2
Débuter / Programmer le timer0 pour faire clignoter une led
« le: janvier 30, 2018, 06:37:15 pm »
Bonjour,
Suite à ma lecture de cet article http://www.locoduino.org/spip.php?article84 où il est expliqué comment faire clignoter une LED tous les 500ms en programmant le TIMER2 de l'Arduino Uno, j'ai essayé de reproduire la même chose mais avec le TIMER0. Le problème c'est que la LED clignote environ toutes les 3 secondes et pas tous les 500 ms. J'ai essayé avec le TIMER1 qui fait 16 bits et j'ai réussi. Voici mon code pour le TIMER0:

const byte RED = 5;
#define LedToggleRed digitalWrite (RED, !digitalRead(RED))
 
void setup() {
  pinMode (RED, OUTPUT);
  bitClear (TCCR0A, WGM00); // WGM00 = 0;
  bitClear (TCCR0A, WGM01); // WGM01 = 0;
  TCCR0B = 0b00000100; // Clock / 256 soit 16 micro-s et WGM02 = 0;
  TIFR0 = 0b00000001; // Réinitialisation du flag TOV0
  TCNT0 = 256 - 250; // Chargement du timer à 6
}
 
byte varCompteurRed = 0; // La variable compteur
 
void loop() {
  if (bitRead (TIFR0, 0) == 1) { // Flag TOV mis à 1 ?
    TCNT0 = 256 - 250; // Rechargement du timer à 6
    bitSet(TIFR0, TOV0); // Remise à 0 du flag TOV0
    if (varCompteurRed++ > 125){ // Incrémentation et a atteint 125 ?
      varCompteurRed = 0; // On recommence un nouveau cycle
      LedToggleRed; // Inversion de la Led rouge
    }
  }
}

Je vois pas ce qui cloche  :(


Pages: [1]