Prova sudo screen /dev/ttyUSB2 115200,cs8,parenb,-parodd,-cstopb
Dalla pagina man di stty
:
- csN - imposta la dimensione del carattere a N bit, N in [5..8]
- [-]parenb - genera bit di parità in output e si aspetta bit di parità in input
- [-]parodd - imposta la parità dispari (anche con '-')
- [-]cstopb - utilizza due bit di stop per carattere (uno con '-')
Per farla breve, sembra screen
non supporta l'impostazione di tali flag. L'alternativa sarebbe eseguire stty
per impostare i flag mentre lo schermo è connesso alla porta, come hai fatto. In alternativa, puoi eseguire kermit o un altro programma di emulazione di terminale all'interno di una normale sessione della riga di comando dello schermo, invece di collegare lo schermo direttamente alla porta seriale.
Il screen
il codice sorgente è su http://git.savannah.gnu.org/cgit/screen.git. Sembra che il file di interesse sia tty.sh. Questo è uno script di shell che viene eseguito durante il processo di compilazione per produrre "tty.c". tty.c contiene il codice per accedere alle porte seriali.
La funzione SttyMode()
sembra essere ciò che analizza le opzioni tty e imposta la modalità tty. Mi sembra che gestisca un piccolo insieme fisso di opzioni. "parenb" e "parodd" non sono tra questi.
Sembra che sarebbe semplice per uno sviluppatore esperto di C aggiungere il supporto per queste opzioni, se questa è un'opzione per te.