Bonjour =E0 tous,
j'essaie d'utiliser l'interruption RBIE pour compter des impulsions sur le PortB.7
=E7a fonctionne, mais mal, car chaque impulsion d=E9clenche 2 fois l'interruption... au lieu d'une...
pour le cablage, j'ai mis un BP sur le PortB.7 configur=E9 en entr=E9e, et 7 leds sur les ports PortB.0:6 configur=E9s en sorties, leds pour visualiser en binaire le comptage des impulsions...
ci-dessous, le code complet, en MikroBasic...
si je met les leds sur PortA, =E7a fonctionne... mais je veux les garder sur le PortB...
merci d'avance pour tous vos eclaircissements,
vede ;O]
program testint
dim i, compteur as byte
sub procedure interrupt PortB =3Dcompteur ' allume des leds inc(compteur) ' incr=E9mente le compteur Delay_ms(200) ' d=E9lai avant re-activation interruption INTCON =3D%10001000 ' GIE =3D 1; RBIE =3D 1; RBIF =3D 0; end sub
main: OSCCON=3D%1110000 ' choix oscillateur interne, =E0
8Mhz while testbit(OSCCON,IOFS)=3D0 wend ' attente stabilisation oscillateurANSEL =3D%00000000 ' met tous les ports en num=E9rique TrisA =3D%00000000 ' met tous les ports A en sorties TrisB =3D%10000000 ' met RB7 en entr=E9e, autres ports RBx en sorties PortA =3D%00000000 ' met tous les ports A =E0 0 PortB =3D%00000000 ' met tous les ports B =E0 0
i =3D0 compteur =3D0 ' init compteur INTCON =3D%10001000 ' GIE =3D 1; RBIE =3D 1; RBIF =3D 0; while i =3D0 wend ' boucle infinie
end.