如何在终端中设置 Mac 的波特率
是否可以在终端中设置 Mac 的波特率?如果是,如何通过终端设置终端波特率?
我正在尝试使用 Arduino (开源微控制器)与 Mac 进行通信,一个 XBee(无线通信器)通过串行监视器在终端中输入。我遇到的唯一问题是串行监视器和终端的波特率不同。我可以轻松更改Arduino中串行监视器的波特率,但我不知道Mac中终端的波特率是多少。
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.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
在 Mac OS 上,
stty
似乎只能更改正在进行的访问的终端设置。它的作用是:
访问串行接口,例如
cat /dev/cu.usbserial
,首先将使用默认设置。在不同的终端上使用stty
,例如stty -f /dev/cu.usbserial 230400
设置波特率,之前访问的终端的设置会改变。执行
stty
后有一个小时间窗口,在此期间可以使用所需的参数进行访问,例如stty -f /dev/cu.usbserial 230400 & stty -f /dev/cu.usbserial 230400 & cat /dev/cu.usbserial
执行stty
,将其分离,然后立即执行对串行设备的访问。对于一行命令,将串行端口
/dev/tty.usbserial-X
的输出记录到cat.out
并按Ctrl+ 终止记录C
,解决方案如下:trap 'kill $(jobs -p)' SIGINT ;猫 /dev/tty.usbserial-X |三通猫.out & stty -f /dev/tty.usbserial-X 115200
。您可以键入Ctrl+C
终止记录到cat.out
。 (已编辑)这似乎仅适用于
/dev/cu.*
设备文件。我不知道与/dev/tty.*
文件的区别。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 usestty
, 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
executesstty
, 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 tocat.out
and terminating the logging by pressingCtrl+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 typeCtrl+C
to terminate logging tocat.out
. (edited)This only seems to work for the
/dev/cu.*
device files. I don't know the difference from/dev/tty.*
files.Minicom 是一个出色的工具,它完全可以满足您的要求。您可以在 ubuntu 上使用 apt 来获取它,但对于 Mac 应查看此教程。
如果您打算向 Arduino 发送数据,请记住串行重置问题。请参阅http://arduino.cc/playground/Main/DisablingAutoResetOnSerialConnection
Minicom is an excellent tool that does exactly what you're asking for. You can get it using apt on ubuntu but should check this Tutorial out for Mac.
Keep the serial reset issue in mind if you plan on sending data to the Arduino. see http://arduino.cc/playground/Main/DisablingAutoResetOnSerialConnection
stty 19200左右。
查看
man stty
,可以设置停止位、速度等。stty 19200 or so.
Check
man stty
, you can set stop bits, speed, etc.令人惊讶的是,没有人提到 picocom 可以将更高的吟游诗人率设置为 4000000。
Surprised that no one mentioned picocom which could set higher bard rate up to 4000000.