AvrIO  1.4.5
Bibliothèque C modulaire pour ATMEL AVR
Liaison série asynchrone logicielle

Description détaillée

Ce module permet de gérer la communication sur une liaison série asynchrone à l'aide d'une borche d'interruption externe et d'un timer 8 bits. La transmission s'effectue sur un fil de port quelconque mais la réception doit se faire sur une broche d'interruption (INTX) sur front descendant Il n'est pas possible de faire du FULL DUPLEX !

Graphe de collaboration de Liaison série asynchrone logicielle:

Fonctions

int iSerialSwGetChar (void)
 Reçoit un caractère sur la liaison série. Plus de détails...
 
uint8_t ucSerialSwGetFlags (void)
 Renvoie les drapeaux de l'uart.
 
uint16_t usSerialSwHit (void)
 Renvoie le nombre de caractères reçus.
 
void vSerialSwDisable (void)
 Valide l'uart.
 
void vSerialSwEnable (void)
 Valide l'uart.
 
void vSerialSwInit (void)
 Initialise l'SERIAL.
 
void vSerialSwPutChar (char c)
 Envoie un caractère sur la liaison série. Plus de détails...
 
void vSerialSwPutString (const char *pcString)
 Envoie une chaîne caractères sur la liaison série. Plus de détails...
 
bool xSerialSwReady (void)
 

Macros

#define SERIAL_SW_FRAME_ERROR   7
 Set if a frame error has occured.
 
#define SERIAL_SW_RX_BUFFER_FULL   5
 Set if data is ready to be received from the Rx buffer.
 
#define SERIAL_SW_RX_BUFFER_OVERFLOW   6
 Set if receive buffer is overflowed. Indicates data loss.
 
#define SERIAL_SW_TX_BUFFER_FULL   4
 Set if data is ready to be sent from the Tx buffer.
 

Variables

FILE xSerialSwPort
 Descripteur de fichier de l'uart permettant son utilisation avec les fonctions de la libc. Plus de détails...
 

Documentation des fonctions

int iSerialSwGetChar ( void  )

Reçoit un caractère sur la liaison série.

Renvoie
le caractère ou _FDEV_EOF
void vSerialSwPutChar ( char  c)

Envoie un caractère sur la liaison série.

Paramètres
ccaractère
void vSerialSwPutString ( const char *  pcString)

Envoie une chaîne caractères sur la liaison série.

Paramètres
pcStringchaîne caractères
bool xSerialSwReady ( void  )

Renvoie l'état de l'uart (true si la transmission est possible, false sinon)

Documentation des variables

FILE xSerialSwPort

Descripteur de fichier de l'uart permettant son utilisation avec les fonctions de la libc.

Pour utiliser l'uart comme entrée et sortie par défaut, on mettra au début du main() :

1 int main(void) {
2  vSerialSwInit ();
3  stdout = &xSerialSwPort;
4  stdin = &xSerialSwPort;
5 ...

On pourra dans le cas contraire passer &xSerialSwPort au fonction fprintf, fscanf :

1 int choix;
2 ...
3 fprintf (&xSerialSwPort, "Choix ? ");
4 fscanf (&xSerialSwPort, "%d", &choix);
5 ...
Exemples:
serial-sw/demo_serial_sw.c.