2011-04-04 10 views
6

¿Es posible establecer la velocidad en baudios para Macs en un terminal? En caso afirmativo, ¿cómo establecer la velocidad en baudios en la terminal a través de la terminal?Cómo establecer la velocidad en baudios para Macs en un terminal

Estoy tratando de hablar con la Mac usando un Arduino (microcontrolador de fuente abierta), un XBee (comunicador inalámbrico) para escribir en la terminal a través del monitor serie. El único problema que tengo es que la velocidad en baudios del monitor serie y el terminal son diferentes. Puedo cambiar fácilmente la velocidad en baudios para el monitor serie en el Arduino, pero no sé cuál es la velocidad en baudios para el terminal en Mac.

+0

No entiendo lo que estás preguntando. –

+0

Bueno, lo que intento hacer es hablar con Mac usando un arduino (microcontrolador de código abierto), un xbee (comunicador inalámbrico) para escribir el terminal a través del monitor de serie. El único problema que tengo es que la velocidad en baudios del monitor serie y el terminal son diferentes. Puedo cambiar fácilmente a la velocidad en baudios en el monitor serie, pero no sé cómo cambiar la velocidad en baudios en el terminal. – luca590

+0

debe agregar esa información a su pregunta. – HaskellElephant

Respuesta

0

stty 19200 o menos.

Comprobar man stty, se puede establecer bits de parada, velocidad, etc.

+0

no puedes configurarlos Este comando solo te permite verlos. Al intentar establecer la velocidad de transmisión en baudios obtengo la opción ilegal – luca590

+1

ahora la compruebo mediante un cable de módem nulo y un puerto en serie. stty ** puede establecer ** la velocidad en baudios. – jm666

+0

Eso sería genial, excepto que no funciona: '> stty -f /dev/tty.usbserial-A96HPNJJ velocidad 115200' ' '9600' > stty -f /dev/tty.usbserial-A96HPNJJ' 'velocidad 9600 baudios;' ' LFLAGS: opción -icanon -isig -iexten -echo' ' iFlags: -icrnl -ixon -ixany -imaxbel -brkint' 'oflags: -opost -onlcr -oxtabs' ' cflags: CS8 -parenb' – Jeff

6

En Mac OS, stty aparentemente solo puede cambiar la configuración de la terminal para un acceso continuo.

Funciona a:
- Acceda a la interfaz serie, p. cat /dev/cu.usbserial, la configuración predeterminada se utilizará al principio.
- En un terminal diferente, use stty, p. stty -f /dev/cu.usbserial 230400 para establecer la velocidad en baudios, la configuración de la terminal a la que se accedió anteriormente cambiará. O
- Hay una pequeña ventana de tiempo después de ejecutar stty, en la que el acceso se puede realizar con los parámetros deseados, p. stty -f /dev/cu.usbserial 230400 & cat /dev/cu.usbserial ejecuta stty, lo separa y luego realiza inmediatamente el acceso al dispositivo serie.

Esto solo parece funcionar para los archivos de dispositivo /dev/cu.*. No sé la diferencia de los archivos /dev/tty.*.

+0

¡Estaba buscando una solución a este problema para MESES! Tu solución lo hizo por mí. Estoy usando 'screen' para conectarme a una placa de desarrollo con 460800 Baudios.La primera forma (utilizando dos terminales) que proporcionó no funcionó ('dispositivo ocupado'). Pero el segundo con el envío de 'stty' al fondo funcionó:' stty -f /dev/cu.usbserial-141A 460800 & screen /dev/cu.usbserial-141A 460800' –

+0

Debería agregar esa 'pantalla' o cualquier otro programa de terminal generalmente no tiene problemas para establecer la velocidad de transmisión de baudios adecuada. Pero parece que hay un error en OSX que normalmente no permite establecer velocidades de transmisión superiores a 230400. El problema es independiente del programa de terminal y del controlador que se utiliza. Escribí al respecto [aquí] (https://cervisial.wordpress.com/2016/02/02/using-serial-adapters-with-baudrates-230400-on-osx/). Pero con su segunda solución es posible usar estos baudrates más altos. ¡Gracias de nuevo! –

Cuestiones relacionadas