bonjour,
deja avant tout je tiens a peciser que je suis debutant en arduino
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
Code HTML:
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:
PORTE = B01100000;
break;
case 2:
PORTE = B10100000;
break;
case 3:
PORTE = 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
Code HTML:
PORTA = B00001100; //bobine1: on, bobine2: off, bobine3: off
delay(temp);
PORTA = B00001010; //bobine1: off, bobine2: on, bobine3: off
delay(temp);
PORTA = B00000110; //bobine1: off, bobine2: off, bobine3: on
delay(temp);
est ce que qu'elqu'un pourrait m'aider a trouver une solution,