Interruptions PIC 18f4550
Fermé
flolarajasse
Messages postés
103
Date d'inscription
jeudi 12 novembre 2009
Statut
Membre
Dernière intervention
23 juin 2011
-
13 avril 2010 à 13:03
Keuronde - 23 avril 2010 à 18:40
Keuronde - 23 avril 2010 à 18:40
A voir également:
- Interruptions PIC 18f4550
- Pic collage gratuit - Télécharger - Photo & Graphisme
- Pic hunter - Télécharger - Téléchargement & Transfert
- Entrée dans le réseau des pic - Forum Consommation & Internet
- Sorigny tours pic (37) amende ✓ - Forum Vos droits sur internet
- Pic doctor - Télécharger - Récupération de données
1 réponse
Salut,
Je préviens, je n'ai pas une réponse toute faite ! Ce n'est pas testé, ça sort tout juste de la fiche technique.
Dans la "datasheet" du PIC, la section 9.9 te donne les pattes sur lesquelles brancher ton arrivée de signal :
9.9 PORTB Interrupt-on-Change
An input change on PORTB<7:4> sets flag bit, RBIF
(INTCON<0>). The interrupt can be enabled/disabled
by setting/clearing enable bit, RBIE (INTCON<3>).
Interrupt priority for PORTB interrupt-on-change is
determined by the value contained in the interrupt
priority bit, RBIP (INTCON2<0>).
Sur les pattes 4 à 7 du port B.
Les lignes suivant active les interruptions :
INTCONbits.GIE = 1;
INTCONbits.PEIE = 1;
Ensuite, je ne fait que traduire le paragraphe en anglais ci dessus.
Pour activer l'interruption sur changement de l'une des pattes du port B:
INTCONbits.RBIE = 1;
Le choix du niveau de l'interruption se fait avec INTCON2bits.RBIP (mais si c'est ta seule interruption, tu t'en fiches)
Enfin dans l'interruption, vérifier que le bit INTCONbits.RBIF est à 1 => c'est bien une interruption de changement du port B
Remettre INTCONbits.RBIF à 0 dans l'interruption pour la réarmer.
Pour le timer, ouvre-le une fois pour toute. Tu l'initialise au front montant et tu le lis au front descendant.
Tiens moi au courant, je dois réaliser une interruption du même genre...
Keuronde
Ps : Si tu ne les as pas, la fiche technique du PIC (datasheet) et le "MPLAB® C18 C COMPILER LIBRARIES" pourraient grandement t'aider.
Je préviens, je n'ai pas une réponse toute faite ! Ce n'est pas testé, ça sort tout juste de la fiche technique.
Dans la "datasheet" du PIC, la section 9.9 te donne les pattes sur lesquelles brancher ton arrivée de signal :
9.9 PORTB Interrupt-on-Change
An input change on PORTB<7:4> sets flag bit, RBIF
(INTCON<0>). The interrupt can be enabled/disabled
by setting/clearing enable bit, RBIE (INTCON<3>).
Interrupt priority for PORTB interrupt-on-change is
determined by the value contained in the interrupt
priority bit, RBIP (INTCON2<0>).
Sur les pattes 4 à 7 du port B.
Les lignes suivant active les interruptions :
INTCONbits.GIE = 1;
INTCONbits.PEIE = 1;
Ensuite, je ne fait que traduire le paragraphe en anglais ci dessus.
Pour activer l'interruption sur changement de l'une des pattes du port B:
INTCONbits.RBIE = 1;
Le choix du niveau de l'interruption se fait avec INTCON2bits.RBIP (mais si c'est ta seule interruption, tu t'en fiches)
Enfin dans l'interruption, vérifier que le bit INTCONbits.RBIF est à 1 => c'est bien une interruption de changement du port B
Remettre INTCONbits.RBIF à 0 dans l'interruption pour la réarmer.
Pour le timer, ouvre-le une fois pour toute. Tu l'initialise au front montant et tu le lis au front descendant.
Tiens moi au courant, je dois réaliser une interruption du même genre...
Keuronde
Ps : Si tu ne les as pas, la fiche technique du PIC (datasheet) et le "MPLAB® C18 C COMPILER LIBRARIES" pourraient grandement t'aider.