2011-04-04 17 views
6

È possibile impostare la velocità di trasmissione per i Mac in un terminale? Se sì, come impostare la velocità di trasmissione nel terminale attraverso il terminale?Come impostare la velocità di trasmissione per i Mac in un terminale

Sto cercando di parlare con il Mac utilizzando un Arduino (microcontroller open source), una (comunicatore wireless) XBee a digitare nel terminale attraverso il monitor di serie. L'unico problema che sto avendo è la velocità di trasmissione del monitor seriale e terminale sono diversi. Posso facilmente cambiare la velocità di trasmissione per il monitor seriale in Arduino, ma non so quale sia la velocità di trasmissione per il terminale in Mac.

+0

Non capisco cosa stai chiedendo. –

+0

Bene, quello che sto cercando di fare è parlare al mac usando un arduino (microcontrollore open source), un xbee (comunicatore wireless) per digitare un terminale attraverso il monitor seriale. L'unico problema che sto avendo è la velocità di trasmissione del monitor seriale e terminale sono diversi. Posso facilmente cambiare la velocità di trasmissione nel monitor seriale ma non so come cambiare la velocità di trasmissione nel terminale. – luca590

+0

dovresti aggiungere queste informazioni alla tua domanda. – HaskellElephant

risposta

1

Minicom è un ottimo strumento che fa esattamente quello che stai chiedendo. Puoi farlo usando apt su ubuntu, ma dovresti controllare questo Tutorial per Mac.

Tenere presente il problema di reimpostazione seriale se si prevede di inviare dati ad Arduino. vedi

0

stty 19200 o così.

Controllare man stty, è possibile impostare bit di stop, velocità, ecc

+0

non puoi impostarli, questo comando ti consente solo di vederli. Quando provo ad impostare la velocità di trasmissione, l'opzione illegale – luca590

+1

viene ora controllata tramite cavo modem null e porta seriale. stty ** può impostare ** la velocità di trasmissione. – jm666

+0

che sarebbe grande, solo che non funziona: '> stty -f /dev/tty.usbserial-A96HPNJJ velocità 115200' ' 9600' '> stty -f /dev/tty.usbserial-A96HPNJJ' 'velocità 9600 baud;' ' LFLAGS: -icanon -isig -iexten -echo' ' iflags: -icrnl -ixon -ixany -imaxbel -brkint' 'oflags: -opost -onlcr -oxtabs' ' CFLAGS: CS8 -parenb' – Jeff

6

Su Mac OS, stty apparentemente può solo modificare le impostazioni del terminale per un accesso in corso.

Funziona su:
- Accedere all'interfaccia seriale, ad es. cat /dev/cu.usbserial, le impostazioni predefinite verranno utilizzate inizialmente.
- Su un terminale diverso utilizzare stty, ad es. stty -f /dev/cu.usbserial 230400 per impostare la velocità di trasmissione, le impostazioni del terminale cui si accede prima cambieranno. O
- C'è una finestra temporale piccola dopo l'esecuzione di stty, in cui l'accesso può essere eseguito con i parametri desiderati, ad es. stty -f /dev/cu.usbserial 230400 & cat /dev/cu.usbserial esegue stty, lo scollega e quindi esegue immediatamente l'accesso al dispositivo seriale.

Questo sembra funzionare solo per i file di dispositivo /dev/cu.*. Non conosco la differenza dai file /dev/tty.*.

+0

Stavo cercando una soluzione a questo problema per MESI! La tua soluzione l'ha fatto per me. Sto usando 'screen' per connettermi a una scheda di sviluppo con 460800 Baud.Il primo modo (usando due terminali) che hai fornito non funzionava ('dispositivo occupato '). Ma il secondo con l'invio di 'stty' sullo sfondo ha funzionato:' stty -f /dev/cu.usbserial-141A 460800 & screen /dev/cu.usbserial-141A 460800' –

+0

Dovrei aggiungere che 'screen' o qualsiasi l'altro programma terminale di solito non ha problemi per impostare il baud rate corretto. Ma sembra esserci un bug in OSX che normalmente non consente di impostare baudrate superiori a 230400. Il problema è indipendente dal programma del terminale e dal driver utilizzato. Ho scritto a riguardo [qui] (https://cervisial.wordpress.com/2016/02/02/using-serial-adapters-with-baudrates-230400-on-osx/). Ma con la tua seconda soluzione è possibile utilizzare questi baudrate più alti. Grazie ancora! –

Problemi correlati