使用非规范输入处理,我正在读取使用Xbee接口XBIB-R-Dev和“DB9到USB”电缆发送到Xbee S2B Pro(ZB)的串行数据我正在使用http://tldp.org/HOWTO/Serial-Programming-HOWTO/x115.html中的一些示例代码我做的这个项目是严格的C代码而不是C++。
当我在运行UbuntuLinux12.04LTS(32位最新更新)的笔记本上阅读termios.h上的信息时,我发现只有最高的波特率才是38400波特(B38400常量)简单地将B38400的“#define BAUDRATE”替换为更高的BAUDRATE B57600或更高将不起作用,因为它没有在头文件中定义我会得到一个错误,说B57600没有定义。
我的问题是,有没有更好的方法或方法来解决这个问题(使用termios),这样我就可以以更快的速度读取数据,因为Xbee S2B Pro能够提高高达1 Mbps的串行数据速率(规格如digi.com网站所列)。
谢谢你的帮助。
迈克

最佳答案

不能使用以下内容(使用问题链接中的示例中的struct termios newtio;

 cfsetispeed(&newtio, B57600);
 cfsetospeed(&newtio, B57600);

或者只是
  cfsetspeed(&options, B57600);

termios手册页中,它表明传递给这些函数的speed_t参数可以接受高达B230400的值我还在12.04ubuntu上开发了串行端口读取应用程序,上面的功能对我来说非常好。

关于c - 通过termios获得更快的波特率,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20791997/

10-11 00:50