如何使用Qextserialport在串行端口上写入

我正在使用Ubunt 10.10。

我想通过QT与一个微控制器(ATmega328p)进行通信,所以为了testing,我在微控制器上创build了一个虚拟应用程序,它从UART中读取字符,并在串行端口(回复)上以相同的字符响应,但在括号。

如果PC发送:a,则PC收到回复[a]

当我使用超级terminal(GtkTerm)从PC发送字符时,应用程序运行良好,但是当我使用QT时,它不起作用。 我正在从QT发送一个串口上的字符,我正在等待在超级terminal上收到回复,但是我没有收到任何回复。

串行通信属性:Baud9600,Parity_none,Stop_bits_1,Data_8bits,Flow_control_Off

#include <QtCore/QCoreApplication> #include <qextserialport.h> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); const char data[]= "e"; QextSerialPort * port = new QextSerialPort("/dev/ttyUSB0"); port->setBaudRate(BAUD9600); port->setFlowControl(FLOW_OFF); port->setParity(PAR_NONE); port->setDataBits(DATA_8); port->setStopBits(STOP_1); port->setTimeout(0); bool res = false; res = port->open(QIODevice::ReadWrite | QIODevice::Unbuffered); if(res) { qDebug("Opened"); qDebug(data); int i = port->write(data, sizeof(data)); } else { qDebug("Failed to connect"); } return a.exec(); } 

任何想法是什么错误?

Solutions Collecting From Web of "如何使用Qextserialport在串行端口上写入"