Я использую Ubunt 10.10.
Я хочу общаться с микроконтроллером (ATmega328p), используя последовательный интерфейс через QT, поэтому для тестирования я создал на микроконтроллере фиктивное приложение, которое читает символы из UART и отвечаетна последовательном порту (ответы) с тем же символом, но в скобках.
Если ПК отправляет: a, то ПК получает ответ [a]
Приложение работает отлично, когда яс помощью гипертерминала (GtkTerm) для отправки символов с ПК, но когда я использую QT, это не работает.Я посылаю из QT символ на последовательном порту, и я жду ответа на гипертерминале, но не получаю никакого ответа.
Свойства последовательной связи: 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();
}
Есть идеи, что не так?