PDA

View Full Version : Not reading data from hardware device using qextserialport in Mac OS



arunkumaraymuo1
14th July 2012, 04:56
I included include(src/qextserialport.pri) in my pro file and added src directry to my project

I created one Dialog(Member to main class) to configure serial port and I popup from main Window an I used the following code in OK button


void SerianConnectionDialog::on_btnOK_clicked()
{
if (!port->isOpen()) {
port->setPortName(ui->portBox_2->currentText());
port->open(QIODevice::ReadWrite);
}

//If using polling mode, we need a QTimer
if (port->isOpen() && port->queryMode() == QextSerialPort::Polling)
timer->start();
this->accept();
}


In My main class I concted the ready read of function



void MainWindow::connectSerialPort()
{

if(QDialog::Accepted== dlg.exec())
{


this->port= dlg.port;
ui->led->turnOn(port->isOpen());

timer->setInterval(40);

connect(timer, SIGNAL(timeout()), SLOT(onReadyRead()));
connect(port, SIGNAL(readyRead()), SLOT(onReadyRead()));
}
}


And I coded to display data in a texedit


void MainWindow::onReadyRead()
{
if (port->bytesAvailable()) {
ui->textEdit->moveCursor(QTextCursor::End);
ui->textEdit->insertPlainText(QString::fromLatin1(port->readAll()));
ui->textEdit->insertPlainText(QString::fromLatin1("\n"));
}
}


But not showing any data from device. Any error in my code ?

The port showing open in Main class but not getting data to textbox
when I run CoolTerm application it showing the data correctly

Lesiok
14th July 2012, 08:04
Where do you set the port parameters ?

arunkumaraymuo1
14th July 2012, 14:58
In a Serial port setting dialog an when the user click on OK button it assign to parent class member

if(QDialog::Accepted== dlg.exec())
{


this->port= dlg.port;
ui->led->turnOn(port->isOpen());

timer->setInterval(40);

connect(timer, SIGNAL(timeout()), SLOT(onReadyRead()));
connect(port, SIGNAL(readyRead()), SLOT(onReadyRead()));
}

Lesiok
14th July 2012, 17:50
I'm asking about : speed, word length, parity.