Bibliothèque arduino

Bonjour, je vous explique vite fait j’ai un code pour un arduino Uno;

#include <SoftwareSerial.h>

const int txPin = 16;
const int rxPin = 15;       //les broches utiliser par le module


SoftwareSerial BTSerial(rxPin, txPin); // RX, TX

void setup() {
          Serial.begin(9600);
          BTSerial.begin(9600);  
          pinMode(4, OUTPUT);  //la broche utilisé par le relai
}

void loop() {

    Recevoir();

}





/*******************FONCTION********************/   
void Recevoir(){
   bool bouton;
   String message;
   if(BTSerial.available()>0)         //si une information détecté sur la liasons série Bluetooth
    { 
      message=lecturechaineBT();      //apelle de la fonction lecturechaineBT()
     
      if(message == "start\r\n"){         //
         Demarrer(true);                  //  activation du relai
         BTSerial.write("ack_start");     //
         }
      
      if(message == "stop\r\n"){          //
          Demarrer(false);                //  désactivation du relai
          BTSerial.write("ack_stop");     //
          }
     
    }
    else{Demarrer(false);}      //si la connection est perdu le relai se désactive
}


void Demarrer(bool bouton){
  if(bouton == true){
    digitalWrite(4, HIGH); // activation du relai
  }
  if(bouton == false){
    digitalWrite(4, LOW); //  désactivation du relai
  }
}



String lecturechaineBT()
{
  String mes;
  char c;
  while(BTSerial.available()>0)
      {
       c = BTSerial.read(); //récupération d'un 'char' dans la variable 'c' //pas bloquante!!!!!
       //delay(200);
       mes = mes + c ;   //addition de tout les 'char' dans le 'string' mes
      }
      Serial.print(mes);  //affichage du message dans le moniteur série
  return mes;             //renvoie le message
}

Comme vous pouvez le voir j’utilise une bibliothèque “SoftwareSerial” mais j’aimerai pouvoir passer ce code pour un arduino M0 malheureusement la bibliothèque utiliser n’est pas disponible pour cette carte.
Pouvez-vous me dire comment “convertir” mon code pour qu’il puisse fonctionner sur Arduino M0?
Merci.
Bonne journée.

le M0 (SAMD21 ) a plusieurs ports série matériels possible donc pas besoin de Software Serial

On peut lire ce qui suit sur la page M0 du site Arduino

Serial: 0 (RX) and 1 (TX). Used to receive (RX) and transmit (TX) TTL serial data using the ATSAMD21G18 hardware serial capability. Note that on the M0, the SerialUSB class refers to USB (CDC) communication; for serial on pins 0 and 1, use the Serial5 class.

De plus il y a probablement des exemples proposés dans IDE une fois installée l'extension pour cette carte M0

S'il s'agit de 'porter' quelque chose de la carte UNO vers la M0 cette dernière ne supporte pas 5V sur ses entrées de signaux

Arduino M0 possède plusieurs UART/USART, mais je ne crois pas que ce soit implémenté dans la lib core ARDUINO. Sans certitude.

Essayer Serial1.begin(115200);
Si la compilation échoue -> Serial1 n'existe pas.

Une piste ici : https://forum.arduino.cc/index.php?topic=557622.0

Le lien de J-M-L semble confirmer :slight_smile: