Ce module permet de gérer les broches numériques (binaires).
La composition du port est décrite dans un fichier avrio-board-gpio.h spécifique à la carte utilisée.
Variable pouvant contenir le masque
Définition à la ligne 47 du fichier gpio.h.
typedef void(* vGpioCallback) (uGpioMask uPinValues, uint8_t ucPin, eDpEdge edge, void *udata) |
Gestionnaire de changement d'état d'une broche
Déclenché sur modification de niveau d'une broche. Seuls les fronts valides déclenchent un traitement.
- Paramètres
-
uPinValues | valeur des broches (bit 0 pour broche 0, ...) |
ucPin | le numéro de l'broche qui a changée |
edge | front déclenchant |
udata | pointeur sur les données utilisateur défini lors de l'appel à iGpioSetGrpCallback() |
Définition à la ligne 60 du fichier gpio.h.
static bool bGpioRead |
( |
uint8_t |
ucPin | ) |
|
|
inlinestatic |
Lecture de l'état d'une broche (entrée ou sortie)
- Paramètres
-
ucPin | le numéro de la broche |
- Renvoie
- false ou true, si le mode de la broche est eModeInputPullUp ou eModeOutputHigh la valeur booléenne renvoyée est l'inverse de l'état électrique.
- Exemples:
- gpio/demo_gpio.c.
static eDpEdge eGpioPinEdge |
( |
uint8_t |
ucPin | ) |
|
|
inlinestatic |
Front(s) déclenchant d'une entrée.
- Paramètres
-
ucPin | le numéro logique de l'entrée concernée |
- Renvoie
- le ou les fronts déclenchants, eEdgeNone si erreur
static eDpMode eGpioPinMode |
( |
uint8_t |
ucPin | ) |
|
|
inlinestatic |
Lecture du type actuel d'une broche.
- Paramètres
-
ucPin | le numéro de la broche |
gpio | pointeur sur le GPIO |
- Renvoie
- le type, eModeError si erreur
static void* pGpioUserData |
( |
void |
| ) |
|
|
inlinestatic |
Données d'un gestionnaire d'interruption utilisateur.
- Renvoie
- pointeur sur les données, NULL si pas de données ou si erreur
gestionnaire de changement d'état
- Renvoie
- callback
Lecture de l'état binaire d'un ensemble de broches.
La lecture est possible sur les entrées et les sorties.
- Paramètres
-
uPinMask | masque de sélection des broches à lire, un bit à 1 indique que la broche correspondante doit être lue (bit 0 pour la broche 0, bit 1 pour la broche 1 ...). -1 pour lire toutes les broches. |
- Renvoie
- l'état des broches, chaque bit correspond à l'état de la broche correspondante (bit 0 pour la broche 0, bit 1 pour la broche 1 ...)
Scrutation des broches.
Cette fonction scrute les broches qui ont un front de déclenchement différent de eEdgeNone (modifié à l'aide de vGpioSetPinEdge()).
Si un front valide survient sur une de ses broches, la fonction définie à l'aide de vGpioSetCallback() est appelée.
Cette fonction doit être appelée par la boucle principale le plus souvent possible. Un traitement permet de supprimer les rebonds.
Modification du gestionnaire de changement d'état.
- Paramètres
-
callback | fonction définie par l'utilisateur, NULL pour désactiver |
void vGpioSetPinEdge |
( |
uint8_t |
ucPin, |
|
|
eDpEdge |
edge |
|
) |
| |
Réglage du ou des front(s) déclenchant d'une entrée.
- Paramètres
-
ucPin | le numéro logique de l'entrée concernée |
edge | front déclenchant (eEdgeNone désactive la détection de front et l'éxécution du gestionnaire d'interruption) |
static void vGpioSetPinMode |
( |
uint8_t |
ucPin, |
|
|
eDpMode |
eMode |
|
) |
| |
|
inlinestatic |
Modifie le mode de la broche.
- Paramètres
-
ucPin | le numéro de la broche |
eMode | mode |
- Exemples:
- gpio/demo_gpio.c.
static void vGpioSetUserData |
( |
void * |
udata | ) |
|
|
inlinestatic |
Modification données utilisateur.
- Paramètres
-
udata | données passée au callback |
void vGpioToggle |
( |
uint8_t |
ucPin | ) |
|
Bascule l'état d'une sortie.
- Paramètres
-
ucPin | le numéro de la broche |
- Exemples:
- gpio/demo_gpio.c.
Bascule de l'état binaire de plusieurs sorties.
- Paramètres
-
uPinMask | masque de sélection des broches à modifier, un bit à 1 indique que la broche correspondante doit être modifiée (bit 0 pour la broche 0, bit 1 pour la broche 1 ...). -1 pour modifier toutes les broches. |
void vGpioWrite |
( |
uint8_t |
ucPin, |
|
|
bool |
bValue |
|
) |
| |
Modifie l'état d'une sortie.
- Paramètres
-
ucPin | le numéro de la broche |
bValue | valeur |
- Exemples:
- gpio/demo_gpio.c.
void vGpioWriteAll |
( |
uGpioMask |
uPinMask, |
|
|
bool |
bValue |
|
) |
| |
Modification de l'état binaire de plusieurs sorties.
Cette fonction n'a aucune action sur les broches qui ne sont pas en sortie.
- Paramètres
-
uPinMask | masque de sélection des broches à modifier, un bit à 1 indique que la broche correspondante doit être modifiée (bit 0 pour la broche 0, bit 1 pour la broche 1 ...). -1 pour modifier toutes les broches. |
bValue | valeur binaire à appliquer aux broches |