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 !
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
-
void vSerialSwPutString |
( |
const char * |
pcString | ) |
|
Envoie une chaîne caractères sur la liaison série.
- Paramètres
-
pcString | chaîne caractères |
bool xSerialSwReady |
( |
void |
| ) |
|
Renvoie l'état de l'uart (true si la transmission est possible, false sinon)
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() :
3 stdout = &xSerialSwPort;
4 stdin = &xSerialSwPort;
On pourra dans le cas contraire passer &xSerialSwPort au fonction fprintf, fscanf :
3 fprintf (&xSerialSwPort, "Choix ? ");
4 fscanf (&xSerialSwPort, "%d", &choix);
- Exemples:
- serial-sw/demo_serial_sw.c.