#include "rs232_receive.h"
#include <qextserialport.h>
#include <QPushButton>
RS232_Receive::RS232_Receive(QWidget *parent, Qt::WFlags flags)
: QMainWindow(parent, flags)
{
ui.setupUi(this);
//modify the port settings on your own
port = new QextSerialPort("COM1");
port->setBaudRate(BAUD19200);
port->setFlowControl(FLOW_OFF);
port->setParity(PAR_NONE);
port->setDataBits(DATA_8);
port->setStopBits(STOP_2);
//set timeouts to 500 ms
port->setTimeout(500);
qDebug("isOpen : %d", port->isOpen());
}
RS232_Receive::~RS232_Receive()
{
delete port;
port = NULL;
}
void RS232_Receive:

n_CloseportButton_clicked()
{
port->close();
qDebug("is open: %d", port->isOpen());
}
void RS232_Receive:

n_openportButton_clicked()
{
port->open(QIODevice::ReadWrite | QIODevice::Unbuffered);
qDebug("is open: %d", port->isOpen());
}
void RS232_Receive:

n_ReceivengportButton_clicked()
{
char buff[1024];
int numBytes;
numBytes = port->bytesAvailable();
if(numBytes > 1024)
numBytes = 1024;
int i = port->read(buff, numBytes);
if (i != -1)
buff[i] = '\0';
else
buff[0] = '\0';
QString msg = buff;
received_msg->append(msg);
received_msg->ensureCursorVisible();
qDebug("bytes available: %d", numBytes);
qDebug("received: %d", i);
}
Bookmarks