2011-04-04 199 views
6

是否可以设置终端中Mac的波特率?如果是,如何通过终端设置终端的波特率?如何在终端设置Mac的波特率

我想通过使用Arduino(开放源代码微控制器),XBee(无线通信器)通过串行监视器键入终端与Mac交谈。我遇到的唯一问题是串行监视器和终端的波特率不同。我可以轻松地更改Arduino中串行监视器的波特率,但我不知道Mac上的终端的波特率是多少。

+0

我不明白你在问什么。 – 2011-04-04 13:35:49

+0

那么我想要做的是使用arduino(开源微控制器),一个xbee(无线comunicator)通过串行监视器键入终端的Mac交谈。我遇到的唯一问题是串行监视器和终端的波特率不同。我可以在串口监视器上轻松更改波特率,但我不知道如何更改终端的波特率。 – luca590 2011-04-04 14:09:43

+0

你应该将这些信息添加到你的问题。 – HaskellElephant 2011-04-04 20:59:46

回答

0

stty 19200左右。

检查man stty,您可以设置停止位,速度等

+0

你不能设置它这个命令只允许你看到它们。当试图设置波特率我得到非法选项 – luca590 2011-05-08 00:43:37

+1

现在检查它通过零调制解调器电缆和串行端口。 stty **可以设置波特率。 – jm666 2011-05-08 01:07:54

+0

这将是巨大的,但它不工作: '>的stty -f /dev/tty.usbserial-A96HPNJJ速度115200' '9600' '>的stty -f /dev/tty.usbserial-A96HPNJJ' '速度9600波特;'' LFLAGS:-icanon -isig -iexten -echo' 'iflags:-icrnl -ixon -ixany -imaxbel -brkint' 'oflags:-opost -onlcr将-oxtabs' 'CFLAGS:CS8 -parenb' – Jeff 2013-09-30 12:09:22

6

在Mac OS上,stty似乎只能更改正在进行的访问的终端设置。

它适用于:
- 访问串行接口,例如: cat /dev/cu.usbserial,首先将使用默认设置。
- 在不同的终端上使用stty,例如, stty -f /dev/cu.usbserial 230400设置波特率,以前访问的终端的设置将会改变。 或
- 在执行stty之后有一个小的时间窗口,其中访问可以用期望的参数执行,例如, stty -f /dev/cu.usbserial 230400 & cat /dev/cu.usbserial执行stty,将其分离,然后立即执行对串行设备的访问。

这似乎只适用于/dev/cu.*设备文件。我不知道与/dev/tty.*文件有什么不同。

+0

我正在寻找解决这个问题的月份!你的解决方案为我做了。我正在使用'screen'来连接460800波特的开发板。您提供的第一种方式(使用两个终端)不起作用('设备繁忙')。但第二个发送'stty'到后台的工作确实有效:'stty -f /dev/cu.usbserial-141A 460800&screen /dev/cu.usbserial-141A 460800' – 2016-02-02 15:08:51

+0

我应该添加'screen'或任何其他终端程序通常没有问题来设置正确的波特率。但是在OSX中似乎有一个错误,通常不允许设置高于230400的波特率。问题与终端程序和所使用的驱动程序无关。我写了这里(https://cervisial.wordpress.com/2016/02/02/using-serial-adapters-with-baudrates-230400-on-osx/)。但使用第二种解决方案时,可以使用这些更高的波特率。再次感谢! – 2016-02-03 12:54:37