Bibliothèque SoftWare Serial

. Par : Dominique, Guillaume. URL : https://www.locoduino.org/spip.php?article73

Explications

Bibliothèque officielle faisant partie du référentiel Arduino livrée avec l’IDE, elle facilite l’écriture du code pour utiliser n’importe quelle autre broche numérique que 0 et 1 afin de créer une autre voie série.
Cette bibliothèque émule une voie série.

Installation

Cette bibliothèque fait donc partie intégrante d’Arduino, elle est installée de base. Il suffit juste de l’importer dans le programme que l’on écrit.

Limitations

La bibliothèque Software Serial a plusieurs limitations qu’il faut prendre en compte :

  • Lors de l’emploi de plusieurs voies séries émulées par la bibliothèque, seulement 1 peut recevoir des données, il faut les traiter chacune son tour dans ce cas.
  • l’emploi sur un Arduino Méga est restreint ; seuls les numéros de broches suivants peuvent être utilisés comme broche Rx : 10, 11, 12, 13, 14, 15, 50, 51, 52, 53, A8 (62), A9 (63), A10 (64), A11 (65), A12 (66), A13 (67), A14 (68), A15 (69).
  • de même sur les Arduino Leonardo et Micro, la broche Rx peut être seulement sur les broches : 8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI).

Si votre projet nécessite la réception de données simultanées sur les voies séries émulées, nous nous tournerons vers une autre bibliothèque AltSoftSerial de Paul Stoffregen, mais qui possède aussi d’autres limitations.

Importer la bibliothèque

#include <SoftwareSerial.h>

Cela se fait en début de programme.

Définitions de la voie série émulée

Contrairement à la voie série officielle où les broches utilisées sont définies, il nous faut pour cette bibliothèque les définir. Pour cela, il faut créer une variable de type SoftwareSerial en lui donnant un nom et comme paramètres les deux broches que nous allons utiliser comme Rx et Tx.
Par exemple :

SoftwareSerial mySerial(10, 11);

Fonctions de cette librairie

Émuler la voie série signifie tout de même utiliser les mêmes commandes mais en changeant le nom de la voie série, comme cet exemple où nous ouvrons la voie série :

mySerial.begin(4800);

Le code donc est le même que la voie série officielle et nous nous reporterons à l’article Bibliothèque Serial dont le présent article est le complément.