Pièce jointe « mod_int.tex »

Téléchargement

   1 \section{module interruption}
   2 Ce module génère les fonctions nécessaires pour travailler avec les interruptions
   3 \#include <interrupt.h>
   4 \subsection{\_ISR\_MAIN}
   5 \_ISR\_MAIN Définit la fonction interruption principal, cette fonction s'exécutera quand arrivera n'importe quelle  interruption.
   6 On peut choisir n'importe quel nom pour la fonction interruption principal., on l'utilise ainsi :
   7 \verbatiminput{source/interruption1.c}
   8 
   9 \subsection{ISR\_MAIN}
  10 ISR\_MAIN Definit la fonction/code interruption principal.
  11 Cette fonction/code s'exécutera quand arrivera n'importe quelle interruption.
  12 
  13 On peut choisir n'importe quel nom pour la fonction interruption principal., on l'utilise ainsi :
  14 \verbatiminput{source/interruption2.c}
  15 
  16 \subsection{enable\_int\_global}
  17 Autorise globalement toutes les interruptions
  18 
  19 void enable\_int\_global(void);
  20 
  21 exemple:
  22 enable\_int\_global();
  23 \subsection{disable\_int\_global}
  24 Inhibe globalmente toutes les interruptions
  25 
  26 void disable\_int\_global(void);
  27 
  28 exemple:
  29 disable\_int\_global();
  30 \subsection{interruption Externe}
  31 Les fonctions pour travailler avec l'interruption externe (RB0) sont :
  32 \subsubsection{enable\_int\_ext}
  33 Autorise l'interruption externe
  34 
  35 \#define      H\_TO\_L        0
  36 
  37 \#define      L\_TO\_H        1
  38 
  39 void enable\_int\_ext(BYTE flanco);
  40 
  41 exemple:
  42 enable\_int\_global(L\_TO\_H);
  43 
  44 H\_TO\_L indique une interruption activée sur front descendant
  45 
  46 L\_TO\_H indique une interruption activée  sur front montant
  47 \subsubsection{disable\_int\_ext}
  48 Inhibe l'interruption externe
  49 
  50 void disable\_int\_ext(void);
  51 
  52 En inhibant l'interruption on ne modifie pas l'autorisation de l'interruption globale
  53 \subsubsection{int\_ext\_flag}
  54 Retourne l'état actuel du drapeau (flag) indicateur de l'interruption externe
  55 
  56 BYTE int\_ext\_flag(void);
  57 
  58 L'usage de cette fonction ne modifie pas le drapeau (flag)
  59 \subsubsection{int\_ext\_free\_flag}
  60 Remise à zéro du drapeau (flag) indicateur d'interruption externe
  61 
  62 void int\_ext\_free\_flag(void);
  63 
  64 L'usage de cette fonction modifie le drapeau (flag), le mettant à 0
  65 
  66 \subsection{interruption TIMER0}
  67 Les fonctions pour travailler avec l'interruption par débordement du TIMER0 sont :
  68 \subsubsection{enable\_int\_timer0}
  69 autorise l'interruption par débordement du TIMER0
  70 
  71 void enable\_int\_timer0(void);
  72 
  73 Pour que cette interruption soit autorisé il faut aussi activer l'interruption globale
  74 \subsubsection{disable\_int\_timer0}
  75 inhibe l'interruption par desbordement du TIMER0
  76 
  77 void disable\_int\_timer0(void);
  78 
  79 En inhibant l'interruption on ne modifie pas l'autorisation de l'interruption globale
  80 \subsubsection{int\_timer0\_flag}
  81 Retourne l 'état actuel du drapeau (flag) indicateur de l'interruption par desbordement du TIMER0
  82 
  83 BYTE int\_timer0\_flag(void);
  84 
  85 L'usage de cette fonction ne modifie pas le drapeau (flag)
  86 \subsubsection{int\_timer0\_free\_flag}
  87 Remise à zéro du drapeau (flag) indicateur de l'interruption par débordement du TIMER0
  88 
  89 void int\_timer0\_free\_flag(void);
  90 
  91 L'usage de cette fonction modifie le drapeau (flag), le mettant à 0
  92 
  93 \subsection{interruption RB4 à RB7}
  94 Les fonctions pour travailler avec l'interruption par changement d'état des broches (pins) RB4 a RB7 sont:
  95 \subsubsection{enable\_int\_rb4to7}
  96 autorise l'interruption par changement d'état des broches (pins) de RB4 à RB7
  97 
  98 void enable\_int\_rb4to7(void);
  99 
 100 Pour que cette interruption soit autorisée il faut aussi activer l'interruption globale
 101 \subsubsection{disable\_int\_rb4to7}
 102 inhibe  l'interruption par changement d'état des broches (pins) de Rb4 à RB7
 103 
 104 void disable\_int\_rb4to7(void);
 105 
 106 En inhibant l'interruption on ne modifie pas l'autorisation de l'interruption globale
 107 \subsubsection{int\_rb4to7\_flag}
 108 Retourne l 'état actuel du drapeau (flag) indicateur de l'interruption par changement d'état des broches (pins) de RB4 à RB7
 109 
 110 BYTE int\_rb4to7\_flag(void);
 111 
 112 L'usage de cette fonction ne modifie pas le drapeau (flag)
 113 \subsubsection{int\_rb4to7\_free\_flag}
 114 Remise à zéro du drapeau (flag) indicateur de l'interruption par changement d'état des broches (pins) de RB4 à RB7
 115 
 116 void int\_rb4to7\_free\_flag(void);
 117 
 118 L'usage de cette fonction modifie le drapeau (flag), le mettant à 0
 119 
 120 \subsection{interruption Rx UART}
 121 Les fonctions pour travailler avec l'interruption par réception de caractère dans l 'UART sont :
 122 \subsubsection{enable\_int\_uart}
 123 autorise l'interruption par réception de caractère dans l'UART
 124 
 125 void enable\_int\_uart(void);
 126 
 127 Pour que cette interruption soit autorisée  il faut aussi activer l'interruption globale
 128 \subsubsection{disable\_int\_uart}
 129 inhibe l'interruption par réception de caractère dans l'UART
 130 
 131 void disable\_int\_uart(void);
 132 
 133 En inhibant l'interruption on ne modifie pas l'autorisation de l'interruption globale
 134 \subsubsection{int\_uart\_flag}
 135 Retourne l 'état actuel du drapeau (flag) indicateur de l'interruption par réception de caractère dans l 'UART
 136 
 137 BYTE int\_uart\_flag(void);
 138 
 139 L'usage de cette fonction ne modifie pas le drapeau (flag), en plus on ne peut pas.
 140 \subsubsection{int\_uart\_free\_flag}
 141 Cette fonction n'existe pas. 
 142 Le drapeau (flag) se remettra à zéro lors de la lecture avec la fonction uart\_getc du caractère entrant, cette fonction doit être placé à l'intérieur de  la fonction interruption sinon le drapeau (flag) ne se remettra jamais à 0 et on ne sortira jamais de la fonction interruption, 
 143 car la fonction interruption sera invoqué jusqu'à la fin des temps.
 144 
 145 \subsection{interruption ADC}
 146 Les fonctions pour travailler avec l'interruption qui donne la fin de la conversion analogique numérique sont :
 147 \subsubsection{enable\_int\_adc}
 148 autorise l'interruption de fin de conversion analogique numérique 
 149 
 150 void enable\_int\_adc(void);
 151 
 152 Pour que cette interruption soit autorisée  il faut aussi activer l'interruption globale
 153 \subsubsection{disable\_int\_adc}
 154 inhibe l'interruption de fin de conversion analogique numérique
 155 
 156 void disable\_int\_adc(void);
 157 
 158 En inhibant l'interruption on ne modifie pas l'autorisation de l'interruption globale
 159 \subsubsection{int\_adc\_flag}
 160 Retourne l 'état actuel du drapeau (flag) indicateur de l'interruption de fin de conversion analogique numérique
 161 
 162 BYTE int\_adc\_flag(void);
 163 
 164 L'usage de cette fonction ne modifie pas le drapeau (flag).
 165 
 166 \subsection{interruption Comparateur}
 167 Les fonctions pour travailler avec l'interruption de fin de comparaison sont:
 168 \subsubsection{enable\_int\_comp}
 169 autorise l'interruption de fin de comparaison
 170 
 171 void enable\_int\_comp(void);
 172 
 173 Pour que cette interruption soit autorisée  il faut aussi activer l'interruption globale
 174 \subsubsection{disable\_int\_comp}
 175 inhibe l'interruption de fin de comparaison
 176 
 177 void disable\_int\_comp(void);
 178 
 179 En inhibant l'interruption on ne modifie pas l'autorisation de l'interruption globale
 180 \subsubsection{int\_comp\_flag}
 181 Retourne l 'état actuel du drapeau (flag) indicateur de l'interruption de fin de comparaison
 182 
 183 BYTE int\_comp\_flag(void);
 184 
 185 L'usage de cette fonction ne modifie pas le drapeau (flag).
 186 
 187 \subsection{Exemple du module Interruption Externe}
 188 Pour compiler tu as besoin des commandes suivantes 
 189 
 190 Exemple de compilation : ./compila.sh ej\_intext 16f877a
 191 
 192 ej\_intext.c
 193 \verbatiminput{source/ej_intext.c}

Fichiers joints

Pour vous référer aux pièces jointes d'une page, utilisez attachment:filename, comme indiqué ci-dessous dans la liste de fichiers. N'utilisez pas l'URL du lien [get], car elle peut changer et donc être facilement cassée.
 Tous les fichiers | Fichiers sélectionnés supprimer déplacer vers la page copier vers la page

Vous n'êtes pas autorisé à joindre un fichier à cette page.

Site hébergé sur un Cloud Public IKOULA Ikoula