L'argomento mi intriga, nonostante siano decenni che non ho a che fare con device che funzionano solo a 1200 7E1... ![]()
Quindi mi è venuta una curiosità ma non avendo modo di verificare con qualche vecchio device in 7E1 volevo capire.
Diciamo che chi trasmette lo fa in 7E1 e chi riceve (Arduino) lo fa in 8N1, Se ad esempio chi trasmette dovesse mandare il byte 0x45 ossia 'E', a questo aggiungerebbe il bit di parità ad 1 ossia se non erro manderà i bit:
0 1010001 1 1
(in sequenza come start, 7 bit di dati da LSB a MSB, poi uno di parità e bit di stop)
Questo significa che se li ricevessi come 8N1 con la SoftwareSerial, il byte letto dall'istruzione "byte b = mySerial.read();" sarebbe "11000101", ossia 0xC5 esatto?
A quel punto non mi basterebbe ignorare (o estrarre e verificare) il bit di parità con "b = b & 0x7F;" e usare quindi "b"? Mi sfugge qualcosa?