4 Arduino Master Slave in RS485

Ciao a tutti,

Scrivo qui anche se il topic è vecchio ma almeno so che avete trattato il problema.
Ho provato a creare un piccolo protocollo di comunicazione su RS485, quindi scrivo su pin 1 e leggo su pin 0 tra Arduino Leonardo e PC con Python.

Python:

import serial, time
import random
ser = serial.Serial("COM12", 115200, bytesize=8, parity='N', stopbits=1, writeTimeout=1, timeout=0)
time.sleep(2)
ser.flushInput()
ser.flushOutput()
a = 1
k = 0
e = 0
while 1:
                    ser.write(b'1')
                    x = ser.read(2)
                    if x != b'1': 
                                k = k + 1
                                print(k)
                                print(x)

Arduino:

const byte LED = 13;
const byte Address = 49; // Indirizzo fisico Leonardo
int inByte;
int lastState;
int changeState;

void setup()
{
pinMode(LED, OUTPUT);
pinMode(3, OUTPUT);
digitalWrite(LED, LOW);
digitalWrite(3, LOW);
Serial1.begin(115200, SERIAL_8N1);
while (!Serial1) {
}
Serial1.flush();
delay(500);
}

void loop()
{
if (Serial1.available()) {
inByte = Serial1.read();
Serial1.flush();
digitalWrite(3, HIGH);
Serial1.write(inByte);
Serial1.flush();
digitalWrite(3, LOW);
}
}

Mi parte una marea di errori nel ciclo di Python creato apposta per verificare se la cumunicazione funziona correttamente

    if x != b'1': 
                                k = k + 1
                                print(k)
                                print(x)

Se collego la seriale attraverso USB (cioè Serial e non Serial1) tutto funziona a dovere.
Cosa c'è che non va?