Gestion port ICP1 sur ATméga48, programmation CodeVision

Pour toutes vos questions sur CodeVision et la programmation en C en général

Modérateur : Modérateur

nilann
NOUVEAU
NOUVEAU
Messages : 1
Inscription : 24 mai 2006 8:52
Localisation : Lannion

Gestion port ICP1 sur ATméga48, programmation CodeVision

Message par nilann »

Je travaille sur un programme d'apprentissage de télécommande par infrarouge
J'utilise le port ICP1, qui lorsqu'il est mis au niveau haut déclenche une interruption, cela marche bien en simulation sur AVR studio en simulant une entrée sur la PINB.0 la valeur de ICR1 enregistre alors la valeur du Timer/Counter1.
Malheureusement après programmation du microcontrôleur rien ne se passe, il ne déclenche pas d'interruption sur la patte ICP1 (PINB.0).
J'ai pourtant utilisé le wizzard de CodeVision.

interrupt [TIM1_CAPT] void timer1_capt_isr(void)
sachant que j'utilise le paramétrage suivant dans codevision

//Timer/Counter 1 initialisation
// Clock source: System Clock
// Clock value: 3684,400 kHz
// OC1A output: Discon.
// OC1B output: Discon.
// Noise canceler: Off
// Input Capture on Rising Edge
TCCR1A=0x00;
TCCR1B=0x59;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0xFF;
OCR1AH=0xFF;
OCR1AL=0xFF;
OCR1BH=0x00;
OCR1BL=0x00;

ainsi que:

// Timer/Counter 1 Interrupt(s) initialisation
TIMSK1=0x20;

Quelqu'un sait-il comment je peux déclencher cette interruption?

Répondre