BP & TIMER

Pour toutes vos questions sur WinAVR, AVR-GCC et la programmation en C en général

Modérateur: Modérateur

BP & TIMER

Messagede Omsi le 19 Mar 2008 16:27

Bonjour,bonsoir
j'aimerai une petite aide de votre part pour compléter ce code svp
il sagit de deux boutons poussoir,l'un fait clignoter la led toutes les secondes pendant cinq secondes,l'autre BP ben j'arrive pas à le faire fonctionner.
Ce que je veux c'est qu'il fasse clignoter une autre led pendant cinq seconde toujours mais deux fois plus vite cette fois-ci.
donc elle doit clignoter dix fois en 5 sec.Voici mon code et encore merci pour votre aide.

Code: Tout sélectionner
#include <avr/io.h>
#include <avr/interrupt.h>
#include <math.h>

volatile char i;
volatile char j;

ISR(INT0_vect)      
{
   i=10;
}
ISR(INT1_vect)
{
   j=20;
   
}   

int main(void)
{
   DDRD |= (0 << PD2) | (0 << PD3);//PD2 & PD3 as input
   PORTD |=(1 << PD2) | (1 << PD3);//RESistor de rappel
   MCUCR |= (1 << ISC01) | (1 << ISC11);//front descendant 1/0
   GICR |= (1 << INT0) | (1 << INT1);//enable INTO and INT1
   DDRB = 0X03;//2first bits as outputs
   TCCR1A |= ((1 << COM1A1) | (1 << COM1A0));//CTC mode TIM1 for channel A
   TCCR1B |= ((1 << WGM12) | (1 << CS12)); //settings for prescaler 256 and CTC mode
   TCCR0 |= (1 << WGM01) | (1 << CS01) | (1 << CS00);//mode CTC TIM0 + PRESCALER @ 64
   sei(); //enable globale interrupts
   TIMSK |= (1 << OCIE1A) | (1 << TOIE1); //enable output compare A & OVF
   OCR1A = 19531.25; //CTC value to 0,5s @ 10MHZ(AVR clk)
   OCR0 = 39062.5;//0,25s @ 10MHZ
   return 0;
   
}

ISR(TIMER1_COMPA_vect)
{
   if(i!=0)
   {
      PORTB ^= (1 << PB0); //toggle LED 0,5 sec
      i--;   
   }
   
}
ISR(TIMER0_COMP_vect)
{
   if(j!=0)
   {
      PORTB ^= (1 << PB1); //toggle LED 0,5 sec
      j--;   
   }
}




CIao et à bientôt
Omsi
 

Messagede omsi le 21 Mar 2008 10:13

RE bonjour,bonsoir,
j'ai trouvé la réponse à ma question si vous voulez la bonne réponse faite un signe
CIAO
omsi
 


Retourner vers WinAVR-AVR GCC

Qui est en ligne

Utilisateurs parcourant ce forum: andromeda et 0 invités