serialtool.h 913 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #ifndef SERIALTOOL_H
  2. #define SERIALTOOL_H
  3. #include <QObject>
  4. #include <QSerialPort>
  5. #include <QPushButton>
  6. #include <QLineEdit>
  7. #include <QTextEdit>
  8. #include <QByteArray>
  9. class SerialTool : public QObject
  10. {
  11. Q_OBJECT
  12. public:
  13. static SerialTool* getInstance(QObject *parent = nullptr);
  14. SerialTool(QObject *parent = nullptr);
  15. ~SerialTool();
  16. static SerialTool* instance;
  17. void openSerialPort();
  18. void closeSerialPort();
  19. void readData();
  20. bool sendData(const QByteArray &data);
  21. signals:
  22. void openCloseButtonTextChanged(const QString& text);
  23. void openError();
  24. void dataReceived(const QByteArray& data);
  25. void serialPortOpened(); // 新增信号
  26. public slots:
  27. void handleSendDataReques(const QByteArray &data);
  28. private:
  29. void setupSerialPort();
  30. QByteArray buffer; // 确保这里声明了 buffer 变量
  31. QSerialPort serialPort;
  32. };
  33. #endif // SERIALTOOL_H