Comunicacion serial usando Qt y Visual Studio
-
Hola a todos:
Me gustaria amablemente preguntarles acerca de como poder realizar la comunicacion serial con Qt, he intentado de muchas formas pero ninguna me ha funcionado.
Si alguien de ustedes tiene experiencia en esto, le estare realmente muy agradecido.
Que tengan un lindo dia.P.S: Uso Qt dentro de Visual Studio, y estoy tratando de desarrollar una aplicacion de consola.
-
Aqui les dejo el codigo que tengo hasta ahora :
#ifndef MYTIMER_HPP
#define MYTIMER_HPP#include <QtSerialPort/QtSerialPort>
#include <QTimer>
#include <QThread>
#include <QObject>class MyTimer : public QObject
{ Q_OBJECTpublic: MyTimer(int,int); QSerialPort serial; QTimer timer; int how_many_times; int sampling;
signals: void done();
public slots: void MyTimerSlot();
};#endif // MYTIMER_H
//#include <QtSerialPort/QtSerialPort>
#include “mytimer.hpp”
#include <QDebug>MyTimer::MyTimer(int a, int b)
{ how_many_times = a; sampling = b;
connect(&timer, SIGNAL), this, SLOT)); timer.setInterval(sampling); timer.start();}
void MyTimer::MyTimerSlot()
{
if (how_many_times == 1) { timer.stop(); } /==========================================================================/ serial.setPortName(“COM1”); serial.setBaudRate(QSerialPort::Baud9600); serial.setDataBits(QSerialPort::Data8); serial.setParity(QSerialPort::NoParity); serial.setStopBits(QSerialPort::OneStop); serial.setFlowControl(QSerialPort::NoFlowControl); serial.open(QIODevice::ReadWrite); serial.write(“hello”); serial.close(); /==========================================================================/ qDebug() << “hello” ; how_many_times -= 1; if (how_many_times == 0) { done(); }}
#include <QCoreApplication>
#include “mytimer.hpp”int main(int argc, char *argv[])
{ QCoreApplication a(argc, argv);
MyTimer timer(20,500); QObject::connect(&timer, SIGNAL), &a, SLOT)); return a.exec(); }