如何在OSX上使用FTDI的波特率4mb?

时间:2017-02-28 11:39:48

标签: macos ftdi baud-rate

使用Apple的FTDI驱动程序可以使用4mb(B4000000)的波特率吗?或者FTDI的VCP驱动程序更好?

在termios.h(*)中定义了高达B230400的速度,每个速度被定义为与其速度匹配的整数(与Linux不同)。但是,简单的hack #define B4000000 4000000不起作用。

我记得大约5年前(在Apple提供驱动程序之前)使用FTDI使用FTDI的VCP驱动程序并使用FTDIUSBSerialDriver.kext/Contents/Info.plist进行其中一个"允许&#34 ;速度(如B2400)由驱动程序别名为4mb。这仍然是推荐的方法吗? (我想这需要使用sudo nvram kext-dev-mode=1来禁用kext安全性。)

我正在使用这样的波特率,其中serBaudRate类似于B2400或(理想情况下)B4000000

if ((fd = open(serPortName, O_RDWR)) < 0)   { perror("aborting"); return; }
tcgetattr(fd, &tty);                            /* get attributes */
cfsetospeed(&tty, (speed_t) serBaudRate);       /* output speed */
cfsetispeed(&tty, (speed_t) serBaudRate);       /* input speed */
tcsetattr(fd, TCSANOW, &tty);                   /* set attributes */

(*)完整路径为/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/sys/termios.h

1 个答案:

答案 0 :(得分:1)

  

我记得大约5年前(以前可以使用4MB和FTDI)   Apple提供了一个使用FTDI的VCP驱动程序和黑客的驱动程序   FTDIUSBSerialDriver.kext / Contents / Info.plist来制作其中一个   &#34;允许&#34;速度(如B2400)由驱动程序别名为4mb。这是   还是推荐的方法? (我想这需要禁用   kext安全性,使用sudo nvram kext-dev-mode = 1。)

我怀疑这是唯一的方法。 Apple驱动程序非常基础(几年前它甚至不支持CTS / RTS信号),我也没有看到任何指定非标准波特率的方法。看起来FTDI Info.plist仍然支持这些波特率配置选项。