AvrIO  1.4.5
Bibliothèque C modulaire pour ATMEL AVR
Broches d'interruption

Description détaillée

Ce module permet de gérer les broches d'interruption

Graphe de collaboration de Broches d'interruption:

Structures de données

struct  xIrqContext
 Structure décrivant une interruption externe. Plus de détails...
 

Fonctions

bool bIrqReadPin (xIrqHandle i)
 Renvoie l'état logique de la broche de l'interruption. Plus de détails...
 
eIrqMode eIrqGetMode (xIrqHandle i)
 Renvoie le mode de déclenchement de l'interruption. Plus de détails...
 
void * pvIrqGetUserData (xIrqHandle i)
 Renvoie la variable utilisateur de l'interruption. Plus de détails...
 
void vIrqAttach (xIrqHandle i, vIrqFunc func, eIrqMode mode)
 Attache une fonction à une broche d'interruption. Plus de détails...
 
void vIrqClearFlag (xIrqHandle i)
 Efface le drapeau de l'interruption. Plus de détails...
 
void vIrqDisable (xIrqHandle i)
 Dévalide une interruption. Plus de détails...
 
void vIrqEnable (xIrqHandle i)
 Valide ou invalide une interruption. Plus de détails...
 
void vIrqRaise (xIrqHandle i)
 Déclenche une interruption. Plus de détails...
 
void vIrqSetMode (xIrqHandle i, eIrqMode mode)
 Modifie l'événement déclenchant l'interruption. Plus de détails...
 
void vIrqSetUserData (xIrqHandle i, void *data)
 Modifie la variable utilisateur de l'interruption. Plus de détails...
 

Définitions de type

typedef void(* vIrqFunc) (xIrqHandle i)
 Type pointeur sur une routine d'interruption utilisateur.
 
typedef struct xIrqContext xIrqContext
 
typedef int8_t xIrqHandle
 Désigne le numéro d'une interruption.
 

Énumérations

enum  eIrqMode { eIrqLowLevel = 0, eIrqEdge = 1, eIrqFalling = 2, eIrqRising = 3 }
 Type d'évement de déclenchement. Plus de détails...
 

Documentation du type de l'énumération

enum eIrqMode

Type d'évement de déclenchement.

Valeurs énumérées
eIrqLowLevel 

Niveau bas

eIrqEdge 

Front montant ou descendant

eIrqFalling 

Front descendant

eIrqRising 

Front montant

Définition à la ligne 99 du fichier irq.h.

99  {
100  eIrqLowLevel = 0,
101  eIrqEdge = 1,
102  eIrqFalling = 2,
103  eIrqRising = 3,
104 } eIrqMode;
Definition: irq.h:101
eIrqMode
Type d'évement de déclenchement.
Definition: irq.h:99

Documentation des fonctions

bool bIrqReadPin ( xIrqHandle  i)
inline

Renvoie l'état logique de la broche de l'interruption.

Paramètres
inuméro de l'interruption (INT0, INT1 ....)
Renvoie
true pour l'état haut
eIrqMode eIrqGetMode ( xIrqHandle  i)
inline

Renvoie le mode de déclenchement de l'interruption.

Paramètres
inuméro de l'interruption (INT0, INT1 ....)
Renvoie
le mode de déclenchement
void* pvIrqGetUserData ( xIrqHandle  i)
inline

Renvoie la variable utilisateur de l'interruption.

Paramètres
inuméro de l'interruption (INT0, INT1 ....)
Renvoie
la variable utilisateur de l'interruption
void vIrqAttach ( xIrqHandle  i,
vIrqFunc  func,
eIrqMode  mode 
)

Attache une fonction à une broche d'interruption.

L'interruption correspondante est validée à l'aide de vIrqEnable()

Paramètres
inuméro de l'interruption (INT0, INT1 ....)
funcfonction gestionnaire de l'interruption
modetype d'événement déclenchant l'interruption
Exemples:
irq/semaphore/demo_irq_semaphore.c, irq/sleep/demo_irq_sleep.c, et irq/watchdog/demo_irq_watchdog.c.
void vIrqClearFlag ( xIrqHandle  i)
inline

Efface le drapeau de l'interruption.

Paramètres
inuméro de l'interruption (INT0, INT1 ....)
Note
Cette fonction est automatiquement appellée par vIrqEnable() avant validation
void vIrqDisable ( xIrqHandle  i)
inline

Dévalide une interruption.

Paramètres
inuméro de l'interruption (INT0, INT1 ....)
void vIrqEnable ( xIrqHandle  i)
inline

Valide ou invalide une interruption.

Paramètres
inuméro de l'interruption (INT0, INT1 ....)
Note
Cette fonction est automatiquement appellée par vIrqAttach()
void vIrqRaise ( xIrqHandle  i)
inline

Déclenche une interruption.

La broche d'interruption devra être configurée en sortie par vIrqInitPin() sinon elle ne fait rien. La configuration d'une broche d'interruption en sortie est un moyen d'émuler une interruption logicielle.

Paramètres
inuméro de l'interruption (INT0, INT1 ....)
void vIrqSetMode ( xIrqHandle  i,
eIrqMode  mode 
)
inline

Modifie l'événement déclenchant l'interruption.

Paramètres
inuméro de l'interruption (INT0, INT1 ....)
modetype d'événement déclenchant l'interruption
Note
Cette fonction est automatiquement appellée par vIrqAttach()
void vIrqSetUserData ( xIrqHandle  i,
void *  data 
)
inline

Modifie la variable utilisateur de l'interruption.

Paramètres
inuméro de l'interruption (INT0, INT1 ....)
datapointeur sur la variable utilisateur