![]() |
AvrIO
1.4.5
Bibliothèque C modulaire pour ATMEL AVR
|
Ce module permet de gérer un bus I2C avec un coupleur de type USI.
![]() |
Fonctions | |
uint8_t | ucTwiUsiSlaveRead (void) |
Lit un octet dans le buffer de réception. Plus de détails... | |
void | vTwiUsiSlaveInit (uint8_t ucOwnAddress) |
Initialise l'interface USI en mode I2C Esclave. Plus de détails... | |
void | vTwiUsiSlaveRegisterTxHandler (vTwiUsiSlaveHandler pxUxerTxHandler) |
Enregistre la fonction de gestion de transmission utilisateur. Plus de détails... | |
void | vTwiUsiSlaveWrite (uint8_t ucData) |
Ecrit un octet dans le buffer de transmission. Plus de détails... | |
bool | xTwiUsiSlaveCharIsReceived (void) |
Renvoie true si le buffer de réception contient des données. | |
bool | xTwiUsiSlaveTxBufferIsEmpty (void) |
Renvoie true si le buffer de transmission est vide. | |
Définitions de type | |
typedef void(* | vTwiUsiSlaveHandler) (void) |
Fonction de gestion d'un événement Esclave. | |
uint8_t ucTwiUsiSlaveRead | ( | void | ) |
Lit un octet dans le buffer de réception.
Cette fonction bloque en attente d'un octet transmis par le maître. Il est possible d'utiliser xTwiUsiSlaveCharIsReceived() pour éviter ce blocage.
void vTwiUsiSlaveInit | ( | uint8_t | ucOwnAddress | ) |
Initialise l'interface USI en mode I2C Esclave.
Les interruptions doivent être validées pour que le module fonctionne.
Adresse | I2C à laquelle l'esclave doit répondre |
void vTwiUsiSlaveRegisterTxHandler | ( | vTwiUsiSlaveHandler | pxUxerTxHandler | ) |
Enregistre la fonction de gestion de transmission utilisateur.
Le gestionnaire est appelé par la routine d'interruption du module USI esclave lorsqu'elle reçoit une demande de lecture et que le buffer de transmission est vide. Il faut donc écrire un octet dans le buffer de transmission avec vTwiUsiSlaveWrite().
pxUxerTxHandler | Pointeur sur la fonction ou 0 pour retirer la fonction. |
void vTwiUsiSlaveWrite | ( | uint8_t | ucData | ) |
Ecrit un octet dans le buffer de transmission.
L'octet sera transmis au maître lors de son prochaine accès en lecture. Cette fonction bloque en attente d'espace libre si le buffer est plein.
ucData | Octet à écrire |