#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QtSerialPort>
#include <QThread>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = nullptr);
~MainWindow();
void addTransmitRow(char*);
private slots:
void on_pushButton_clicked();
void on_readyRead(char*, int);
private:
Ui::MainWindow *ui;
QSerialPort *port;
int transmitRowCounter, recieveRowConuter;
};
class ReaderThread : public QThread
{
Q_OBJECT
QSerialPort *port;
public:
ReaderThread(QObject *obj, QSerialPort *port) : QThread(obj), port(port) {}
void run() override
{
char *result;
int len;
while (true) {
if (port->bytesAvailable() > 0) { //Проверяем, что нам что-то пришло
len = port->read(result, 50); //Читаем максимум 50 байт икладем их в buffer
qDebug() << "Readed " << result;
emit readyRead(result, len);
}
}
}
signals:
void readyRead(char *result, int len);
};
#endif // MAINWINDOW_H