Is it possible to set the baud rate for Macs in a terminal? If yes, how to set the baud rate in terminal through the terminal?
I am trying to talk to the Mac using an Arduino (open source microcontroller), an XBee (wireless communicator) to type in the terminal through the serial monitor. The only problem I am having is the baud rate of the serial monitor and terminal are different. I can easily change the baud rate for the serial monitor in the Arduino, but I do not know what the baud rate is for the terminal in Mac.
On Mac OS, stty
seemingly can only change terminal settings for an ongoing access.
It works to either:
Access the serial interface, e.g. cat /dev/cu.usbserial
, the default settings will be used at first. On a different terminal use stty
, e.g. stty -f /dev/cu.usbserial 230400
to set the baud rate, the settings of the terminal accessed before will change.
There is a small time window after executing stty
, in which the access can be performed with the desired parameters, e.g. stty -f /dev/cu.usbserial 230400 & cat /dev/cu.usbserial
executes stty
, detaches it and then immediately performs the access to the serial device.
For one line command logging serial port /dev/tty.usbserial-X
's output to cat.out
and terminating the logging by pressing Ctrl+C
, here is the solution: trap 'kill $(jobs -p)' SIGINT ; cat /dev/tty.usbserial-X | tee cat.out & stty -f /dev/tty.usbserial-X 115200
. You can type Ctrl+C
to terminate logging to cat.out
. (edited)
This only seems to work for the /dev/cu.*
device files. I don't know the difference from /dev/tty.*
files.