Microcontrôleur PIC16F684 gestion des interruptions
-
19-09-2019 - |
Question
Je viens de terminer ma Microprocesseurs classe au collège il y a quelques semaines, il nous avons programmé dans l'assemblage uniquement. Nous avons appris une quantité équitable (à mon humble avis) sur les interruptions.
Voici ma question: je suis la programmation en C à l'aide du compilateur HiTech pour le 16F684, dans la section Fiche technique discuter des interruptions ( PIC 16F684 Fiche technique de la section 12.4) il est dit que le programme ira au vecteur d'interruption 0x0004. En utilisant l'ensemble dans ma classe des microprocesseurs nous simplement une déclaration de configuration .org pointant vers cette adresse et écrire l'assemblage nécessaire ci-dessous ainsi quand l'interruption se produit il y sauter et courir. Je peux comprendre que dans l'ensemble, mais quand je programme en C, je ne crois pas avoir le contrôle sur l'endroit où des morceaux de programme sont mis en mémoire, ce qui pose un problème. Je ne peux pas comprendre comment placer les commandes à l'interruption en C.
S'il vous plaît laissez-moi savoir si je dois préciser!
La solution
Cette FAQ par Microchip a des informations sur l'utilisation des interruptions sous HiTech C .
Autres conseils
HiTech C étend le langage C avec le type de fonction interrupt
:
void interrupt my_interrupt_handler (void) {
handle_interrupts_here();
}
Vous devriez vraiment obtenir le manuel pour le compilateur. Je crois que le manuel du Pic-lite est gratuit pour le téléchargement, au moins il était quand je téléchargé ma copie un peu de temps en 2001.
Vous devrez creuser dans la documentation HiTech, mais souvent compilateurs ont des mots clés spéciaux pour définir les fonctions d'interruption. Le compilateur, ou le système d'exécution, doit faire face à une fonction appelée par une interruption spécialement: En plus de la mise en place du vecteur, le compilateur (ou système d'exécution) doit conserver tous les registres. Il pourrait ne pas avoir à le faire pour une normale, non-interruption, fonction.
Le manuel sera votre ami.
Le pour PICs utilise # int_ * directives du compilateur ou « attributs » sur les fonctions de gestion des interruptions pour les différentes interruptions sources.