In effetti devo fare esattamente ciò che hai descritto...ma sai com'è...quando uno non sa come fare si affida a ciò che è già scritto...anche se poi carica un sacco di cose inutili...tra l'altro mi è molto comodo un codice più semplice...
quindi per quanto riguarda quello che mi hai detto:
"Per i comandi, devi fare quel che ti serve.
Vuoi fare la lettura di un sensore?
Byte 0x00 -> mettiamo: lettura analogica
A seguire il byte del sensore/porta da leggere."
ad esempio per la lettura devo dare(dal master):
byte di start: 0x00
byte di indirizzo: 0x30 0x31 (01)
byte di comando:
byte dati comando:
byte di stop: 0x01
byte di checksum: 0xEE
continuo a non capire i byte del comando e quello dei dati...cioè il byte del comando specifica il tipo di comando? digitalWrite, analogRead ecc...oppure specifica solo che si sta eseguendo un operazione e quale che viene poi elaborata da chi riceve il comando? oppure il byte di comando e quello dei dati formano un unica cosa ad esempio D04 (0x44 0x30 0x34) e poi bisogna specificare sullo slave?
if ((function=='D') && (function_code==0)){
if (data_received==4){
digitalWrite(1,HIGH);