Bonjour , je souhaiterai utiliser l'interruption RBI :
Pour ceci , j'utilise le logiciel CSS ( programmateur de pic en C )L'interruption RBI (RB4 A RB7 du port B)
Cette interruption est provoquée par un changement d'état sur l'une des
entrées RB4 à RB7 du port B, Le front n'a pas d'importance. Les bits associés
sont RBIE (validation) et RBIF (drapeau)
En fait , dés qui a un changement d'état sur B4 a B7 l'interruption devrai se réaliser au lieu de sa , il entre dans une boucle sans fin ( je ne comprend pas ... )Code:#include <16F876A.h> #fuses XT, NOWDT, PUT, NOPROTECT, NOBROWNOUT, LVP, NOCPD, NOWRT, NODEBUG #use delay(clock=4000000) #INT_RB void RB_isr() { OUTPUT_TOGGLE(pin_C1); delay_ms (500); } VOID main() { enable_INTerrupts (INT_RB); enable_INTerrupts (GLOBAL); WHILE (1) { OUTPUT_TOGGLE (pin_C0); delay_ms (500); } }
Puis si je désactive l'interruption dans la boucle , a la fin , il sort de sa boucle , et retourne dans le programme principale , mais une fois que je refait enable_INTerrupts (INT_RB); , il pars directe dans sa boucle d'interruption ...
Merci d'avance pour votre aide , je ne vois vraiment pas se qui va pas ...
-----