Toupinou
Nombre de messages : 63 Age : 34 Localisation : Apt^^ Date d'inscription : 15/04/2007
| Sujet: Interruptions Mer 18 Avr - 14:31 | |
| hello ! voilà je dois donner la configuration des interruption du timer1 ... Quelqu'un sait ce que sa veu dire ? PS : le fichier Interrupt_UC.c : /* Lycée adam de craponne Thème bac 2007 auteur:pgu et dl nom du programme:Interrupt_UC.c date:01/06 */
#include <p18f2520.h> #include <UC.h>
//********************************************************************************************************************************** // Fontion appelé lors d'une interruption:InterruptHaute() //**********************************************************************************************************************************/ //********************************************************************************************************************************** // Definition des prototypes //**********************************************************************************************************************************/ void InterruptHaute(void); void InterruptFaible(void); void Decod_DCC(void);
//*********************************************************************************************************************************** // Déclaration des Interruptions //*********************************************************************************************************************************** #pragma code IntHaute=0x08 // le vecteur d'IT prioritaire envoie à l'adresse 8 void Interruption_forte(void) // cette pragma force le compilateur à placer le code à l'adresse indiquée { _asm goto InterruptHaute // saut écrit en assembleur sur la fonction de traitement d'IT _endasm }
#pragma code // le compilateur peut à nouveau gérer les adresses
//*********************************************************************************************************************************** // Initialise la sortie du timer1, inverse la sortie RC1 et appelle la fonction Decod_DCC() //********************************************************************************************************************************** #pragma interrupt InterruptHaute // traiteIT est un SP d'IT (il finit donc par retfie et non par return void InterruptHaute(void) { if(PIR1bits.CCP1IF == 1) { TMR1H = 0; TMR1L = 0; Rail2 = !Rail1; NumeroDemiBit = NumeroDemiBit - 1;
if(NumeroDemiBit == 0) // Les 2 demi periode du bit ont ete emises { Decod_DCC(); } PIR1bits.CCP1IF = 0; } } //**********************************************************fin**********************************************************************Mais bon je sais pas si c'est en rapport... Merci de votre aide ! | |
|
underfarad
Nombre de messages : 138 Localisation : Briancon (Hautes Alpes) Date d'inscription : 11/04/2007
| Sujet: Re: Interruptions Mer 18 Avr - 14:57 | |
| Les interuption c'est asser simple Comme j'explique mal, je te laisse aller sur ce site , sui explique super bien http://fribotte.free.fr/bdtech/cours/pic16f84/PART1_cours12a.htmlAu niveau du programme, ton interuption va servir a décoder le dcc en continue, peut importe ou en est le programme la fonction "InterruptHaute()" ce lancera toutes les X ms afin de ne pas louper une trame Voila, et surtou regarde le site, sinon tu va galéré des question , je suis là ... | |
|