基本上我有一个非常简单的 C++ 程序,我试图打开一个串行端口(它实际上是一个 USB->RS232 转换器,应该由 libserial 支持)但代码在 Open() 上冻结。没有错误没有例外,什么都没有,它什么也不做。它似乎适用于除此特定串行端口之外的其他串行端口。串口也适用于cutecom和其他终端(并且它不被任何其他程序保留)。我已经尝试在打开端口之前和之后进行配置,但这似乎并不重要。我在 libserial 的(相当糟糕的)文档或标题中也看不到任何关于握手的信息,也许它正在等待握手或其他什么,我不知道...... Libserial0 版本 0.6.0 和 Ubuntu 10.10。有什么问题或者我该如何尝试调试这个...... ? 任何其他建议的库/方法来使用 C++ 的串行端口?
#include <SerialStream.h>
#include <iostream>
int main() {
LibSerial::SerialStream device_;
device_.SetBaudRate(LibSerial::SerialStreamBuf::BAUD_9600);
device_.SetCharSize(LibSerial::SerialStreamBuf::CHAR_SIZE_8);
device_.SetNumOfStopBits(1);
device_.SetParity(LibSerial::SerialStreamBuf::PARITY_NONE);
device_.SetFlowControl(LibSerial::SerialStreamBuf::FLOW_CONTROL_NONE);
device_.Open("/dev/ttyUSB1");
}