Académique Documents
Professionnel Documents
Culture Documents
Activités pratiques
Arduino - UART
Le logiciel Proteus permet de simuler le fonctionnement en temps réel de certains microcontrôleurs.
C'est le cas du ATMEGA328P qui équipe la carte Arduino Uno.
L'objectif de ce TP est de mettre en œuvre l'UART du microcontrôleur et de relever les signaux
RX et TX.
1 – Analyse du fonctionnement
Soit le programme suivant :
/************************************************************************************
Programme Test UART (RX/TX)
************************************************************************************/
// Définitions pins
// ...rien à définir ici
/************************************************************************************/
void setup() // Initialisations
{
Serial.begin(9600); // Initialisation de l'UART par défaut :
// 9600 bauds, 8 bits, pas de parité, 1 bit de stop
Serial.println("Bonjour");
delay(100);
Serial.println(" les Spe SI ");
delay(200);
}
/************************************************************************************/
void loop() // Programme principal (boucle infinie)
{
do // Faire...
{
i=48;
}
/************************************************************************************/
début
Initialisation
Initialisation de
de l'UART
l'UART
...
...
attendre
attendre 100ms
100ms
...
...
attendre
attendre 200ms
200ms
...
...
...
...
...
...
oui
...
...
...
...
...
2 – Validation du fonctionnement
ANNEXE 1
Transmission RXD/TXD
Les paramètres déterminants d'une transmission RXD/TXD sont :
Exemple :
transmission d’une donnée sur 7 bits (0010110)2 – Parité impaire – 1 bit de Stop
tb
bit de bit de
repos Start Stop repos
TXD de
l'émetteur
0 1 1 0 1 0 0
LSB MSB
* Dans l'exemple ci-dessus c'est une parité impaire qui a été choisie. Comme il y a 3 bits à 1 dans
la donnée, le bit de parité doit être à 0 pour que le nombre total de bits à 1 (parité incluse) soit
impair.
Intérêt du bit de parité : l'émetteur calcule et fixe la valeur du bit de parité dans la transmission. Le
récepteur reçoit la donnée, re-calcule la valeur de ce bit et il la compare à celle qui a été envoyée.
Si ces valeurs sont différentes, c'est qu'il y a eu une erreur de transmission.
ANNEXE 2