Besoin d'aide timer ctc arduino

Fermé
Ptichat22 Messages postés 3 Date d'inscription mercredi 9 avril 2014 Statut Membre Dernière intervention 1 avril 2018 - Modifié le 2 avril 2018 à 14:50
bonjour,

J'ai programmer mon arduino mega 2560 afin qu'il génère des impulsions déphaser afin d'effectuer des rotation.
j'ai fait le programme avec un timer1 en mode ctc mais il ne fonctionne pas enfin a l'oscilloscope il n'ya pas de déphasage
et avec la communication serie la valeur bobine ne s'affiche pas.
voila le programme que j'ai fait

char bobine = 1;
void setup() {

Serial.begin(9600);
DDRB = 0b11100000;
noInterrupts();
TCCR1A = 0;
TCCR1B = 0b00001100;
TIMSK1 = 0b00000010;
TCNT1 = 0;
OCR1A = 31250;

switch(bobine)
{
case 1:
PORTB = B01100000;
break;
case 2:
PORTB = B10100000;
break;
case 3:
PORTB = B11000000;
break;

}
Serial.println(bobine);
interrupts();
}

ISR(TIMER1_COMPA_vect)
{
switch (bobine)
{
char valeur;

case 1:
//char valeur;
valeur = PINB;
PORTB = ~valeur;
++bobine;
break;

case 2:
//char valeur;
valeur = PINB;
PORTB = ~valeur;
++bobine;
break;
case 3:
//char valeur;
valeur = PINB;
PORTB = ~valeur;
bobine = 1;
break;
}

}

void loop() {
// Mettre ici le programme principal.
}

voila les instruction que je souhaite faire avec le timer

PORTB = B00001100; //bobine1: on, bobine2: off, bobine3: off
delay(temp);
PORTB = B00001010; //bobine1: off, bobine2: on, bobine3: off
delay(temp);
PORTB = B00000110; //bobine1: off, bobine2: off, bobine3: on
delay(temp);


est ce que qu'elqu'un pourrait m'aider a trouver une solution .
A voir également: