Skyduino:~#
Articles
arduino, programmation

[Arduino] Selectionner un port série d’une Mega2560

Salut tout le monde !
Il n’est que 7h du matin mais j’ai déjà des choses pour vous 🙂

Suite à une question sur le forum arduino.cc j’ai conçu un petit morceau de code qui pourrait intéresser du monde.
Le but est simple, la mega2560 comporte 3 port série, normalement on les utilise via Serial1, Serial2, Serial3.
Imaginons maintenant que l’on veuille choisir un port précis mais sans utiliser les noms ci-dessus.

Comment Faire ?
La technique consiste en une utilisation intelligente d’un pointeur, qui viendra pointer sur le port de notre choix.

Sans plus attendre le code :

HardwareSerial *_port;
#define _serial (*_port) // mise en forme plus "user friendly" du pointeur.

void selectPort(int port)
{
  switch(port)
  {
  case 1:
    _port = &Serial1;
    break;
  case 2:
    _port = &Serial2;
    break;
  case 3:
    _port = &Serial3;
    break;
  }
}

void setup(){
  selectPort(1); // on selctionne Serial1
}

void loop()
{
  _serial.println("Yo"); // utilisation classique du serial choisi
  delay(1000);
}

Mission réussi !

Publicités

Discussion

Pas encore de commentaire.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

Skyduino devient Carnet du Maker

Le site Carnet du Maker remplace désormais le blog Skyduino pour tout ce qui touche à l'Arduino, l'informatique et au DIY.