Modbus e elettricità

Quindi il trasmettitore potrebbe avere un codice così:

#include <SoftwareSerial.h>
SoftwareSerial serialeSoftware(RX, TX);
int letturaSensore = 0;
void setup() {
  serialeSoftware.begin(9600);

}

void loop() {
  while (true) {
    letturaSensore = analogRead(A0);//qui andrà specificato il piedino di trasmissione del sensore di corrente
    if ((String)serialeSoftware.read() == "0X00") {
      //errore
    } else() {
      serialeSoftware.print("0x02"); // dico che ho iniziato la trasmissione
    }
    if ((String)serialeSoftware.read() == "0X00") {
      //errore
    } else() {
      serialeSoftware.print(letturaSensore); // mando tutti i dati ecc…
    }
    if ((String)serialeSoftware.read() == "0X00") {
      //errore
    } else() {
      serialeSoftware.print("0x03"); // dico che è finita la trasmissione
    }
    if ((String)serialeSoftware.read() == "0X00") {
      //errore
    } else() {
      serialeSoftware.print("0x04") // chiudo la trasmissione
    }
  }
}

Mentre il ricevitore sarà:

#include <SoftwareSerial.h>
SoftwareSerial serialeSoftware(RX,TX);
int letturaSensore = 0;
void setup() {
  serialeSoftware.begin(9600);

}

void loop() {
  if(serialeSoftware.available()>0){
    if((String)serialeSoftware.read()=="0X02"){
      letturaSensore= softwareSerial.read();
      if((String)serialeSoftware.read()=="0X03"){
        if((String)serialeSoftware.read()=="0X04"){
          softwareSerial.close();
          } else(){
            softwareSerial.print("0X00");
            }
         } else(){
            softwareSerial.print("0X00");
            }
        } else(){
            softwareSerial.print("0X00");
            }
            }
}