serialtool.h 928 B

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