Arduino Serial et le port Série

13 mar Arduino Serial et le port Série

Afin de faire communiquer nos modules ZigBee, nous allons devoir manipuler le port série de l’Arduino.
Un petit descriptif de la librairie Serial me semble donc une bonne introduction…

Les fonctions de la librairie Serial pour Arduino


La fonction Begin de la librairie Serial de l’Arduino

Cette fonction permet d’initialiser la communication série de l’arduino en fixant le débit en baud (bits par seconde). Il est possible de régler les débits suivant : 300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600 ou 115200.

Syntaxe de la fonction Begin Serial Arduino

Serial.begin(debit);

Paramètres de la fonction Begin Serial Arduino

int debit -> debit de communication en baud

Valeur renvoyée par la fonction Begin Serial Arduino

Aucune

Exemple de la fonction Begin Serial Arduino

void setup() {
	Serial.begin(9600);	// ouverture du port et initialisation à 9600 bauds
}


La fonction Available de la librairie Serial de l’Arduino

Cette fonction permet d’obtenir le nombre d’octet contenu dans le buffer du port série de l’arduino.

Syntaxe de la fonction Available Serial Arduino

Serial.available();

Paramètres de la fonction Available Serial Arduino

Aucun

Valeur renvoyée par la fonction Available Serial Arduino

Le nombre d’octet présent dans le buffer du port série de l’arduino (le buffer peut recevoir jusqu’à 128 octets).

Exemple de la fonction Available Serial Arduino

void setup() {
	Serial.begin(9600);	// ouverture du port et initialisation à 9600 bauds
}

void loop () {
   if (Serial.available() > 0) { // si des données entrantes sont présentes
		// On traite les données réceptionnées par le port série de l'arduino
	}
}


La fonction Read de la librairie Serial de l’Arduino

Cette fonction permet lire les données réceptionnées par le port série de l’arduino.

Syntaxe de la fonction Read Serial Arduino

Serial.read();

Paramètres de la fonction Read Serial Arduino

Aucun

Valeur renvoyée par la fonction Read Serial Arduino

Le premier octet présent dans le buffer du port série de l’arduino (-1 si aucune donnée de disponible).

Exemple de la fonction Read Serial Arduino

int DonneReception =0; // Variable servant à réceptionner les données du port série de l'arduino
void setup() {
	Serial.begin(9600);	// ouverture du port et initialisation à 9600 bauds
}

void loop () {
   if (Serial.available() > 0) { // si des données entrantes sont présentes
		// On traite les données réceptionnées par le port série de l'arduino
               DonneReception = Serial.read();
	}
}


La fonction Flush de la librairie Serial de l’Arduino

Cette fonction permet lire les données réceptionnées par le port série de l’arduino.

Syntaxe de la fonction Flush Serial Arduino

Serial.read();

Paramètres de la fonction Flush Serial Arduino

Aucun

Valeur renvoyée par la fonction Flush Serial Arduino

Aucune

Exemple de la fonction Read Serial Arduino

Pas d’exemple utile en tête pour le moment… ;)


La fonction Print de la librairie Serial de l’Arduino

A venir…

La fonction Println de la librairie Serial de l’Arduino

A venir…


La fonction Write de la librairie Serial de l’Arduino

Cette fonction permet d’écrire un ou plusieurs octets sur le port série de l’arduino.

Syntaxe de la fonction Write Serial Arduino

serial.write(val);
serial.write(str);
serial.write(buf, len);

Paramètres de la fonction Write Serial Arduino

val: une valeur à envoyer sous forme d’octet simple
str: une chaîne à envoyer sous forme d’une série d’octets
buf: un tableau pour envoyer une série d’octets
len: la largeur du tableau

Valeur renvoyée par la fonction Write Serial Arduino

Aucune

Exemple de la fonction Write Serial Arduino

int DonneReception =0; // Variable servant à réceptionner les données du port série de l'arduino
void setup() {
	Serial.begin(9600);	// ouverture du port et initialisation à 9600 bauds
}

void loop () {
   if (Serial.available() > 0) { // si des données entrantes sont présentes
		// On traite les données réceptionnées par le port série de l'arduino
               DonneReception = Serial.read();

               if (DonneReception == 0x81) Serial.write(0x82); // On envoi l'octet 0x82 lors de la réception de l'octet 0x81
	}
}
Be Sociable, Share!
Tags:
,
No Comments

Post A Comment