#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