guys thanks for your reply
actually my microcontroller sends character continiously everytime(i.e. sends character 'a'continiously)
I used it just to check whether my gui is recieving or not ....
but still I am recieving garbage value in lineedit
I modified according to your suggestion
I used Qtimer that operates on overy 0.5 secs
My CODE
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "qextserialport.h"
#include "qdebug.h"
#include "qtimer.h"
MainWindow
::MainWindow(QWidget *parent
) : ui(new Ui::MainWindow)
{
ui->setupUi(this);
connect(timer,SIGNAL(timeout()),this,SLOT(timeupdate()));
timer->start(500);
// QextSerialPort * serialport=new QextSerialPort;
// connect(serialport,SIGNAL(readyRead()),this,SLOT(timeupdate()));
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::timeupdate()
{
QextSerialPort * port = new QextSerialPort();
port->setPortName("COM4");
port->setBaudRate(BAUD9600);
port->setFlowControl(FLOW_HARDWARE);
port->setParity(PAR_NONE);
port->setDataBits(DATA_8);
port->setStopBits(STOP_1);
//port->setTimeout(0);
char buff[4];
if(port->isReadable())
{
qint64 i=port->read(buff,1);
buff[i]='\0';
if(i!=-1)
{
ui->lineEdit->setText(str);
port->close();
}
}
else
qDebug("port not open");
}
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "qextserialport.h"
#include "qdebug.h"
#include "qtimer.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QTimer *timer=new QTimer(this);
connect(timer,SIGNAL(timeout()),this,SLOT(timeupdate()));
timer->start(500);
// QextSerialPort * serialport=new QextSerialPort;
// connect(serialport,SIGNAL(readyRead()),this,SLOT(timeupdate()));
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::timeupdate()
{
QextSerialPort * port = new QextSerialPort();
port->setPortName("COM4");
port->setBaudRate(BAUD9600);
port->setFlowControl(FLOW_HARDWARE);
port->setParity(PAR_NONE);
port->setDataBits(DATA_8);
port->setStopBits(STOP_1);
//port->setTimeout(0);
port->open( QIODevice::ReadOnly );
char buff[4];
if(port->isReadable())
{
qint64 i=port->read(buff,1);
buff[i]='\0';
if(i!=-1)
{
QString str(buff);
ui->lineEdit->setText(str);
port->close();
}
}
else
qDebug("port not open");
}
To copy to clipboard, switch view to plain text mode
and In mainwindow.h
#include <QMainWindow>
namespace Ui {
class MainWindow;
}
{
Q_OBJECT
public:
explicit MainWindow
(QWidget *parent
= 0);
~MainWindow();
private:
Ui::MainWindow *ui;
private slots:
void timeupdate();
};
#include <QMainWindow>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
private slots:
void timeupdate();
};
To copy to clipboard, switch view to plain text mode
Bookmarks