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

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

问题描述:

是否可以在Apple的FTDI驱动程序中使用4mb的波特率(B4000000)?或者FTDI的VCP驱动程序更好?如何在OSX上使用波特率为4mb的FTDI?

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

我记得在5年前(在苹果提供了一个驱动程序之前)使用4MB的FTDI,使用FTDI的VCP驱动程序,并且盗号FTDIUSBSerialDriver.kext/Contents/Info.plist使其中一个“允许”速度(如B2400)被别名为4mb驱动程序。这仍然是推荐的方法吗? (我想这将需要禁用的kext安全性,sudo nvram kext-dev-mode=1

我使用的波特率这样,在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

我记得能够在5年前使用4MB与FTDI使用FTDI的VCP驱动程序和黑客 FTDIUSBSerialDriver( 之前苹果提供的驱动程序) .kext/Contents/Info.plist,以使驱动程序将“允许”的速度(如B2400)设为 。这个 仍然是推荐的方法吗? (我想这将需要禁用 内核扩展的安全性,使用sudo NVRAM KEXT-DEV-MODE = 1)。

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