| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- #ifndef PQ_RTUHELPER_H
- #define PQ_RTUHELPER_H
- #include <QByteArray>
- #include "QDebug"
- /***
- * 通讯处理的公共函数
- */
- namespace PQ {
- class RTUHelper
- {
- public:
- RTUHelper();
- virtual ~RTUHelper();
- enum RType
- {
- SubAddress,//从站地址
- GetType, //要数类型
- NumLength, //需要的长度
- ReadData, //需要读取数据
- CRCUL, //CRC 低位
- CRCUH // CRC 高位
- };
- inline void setCheckSubAddress(bool check){
- _checkSubAddress = check;
- }
- inline void addCheckSubAddress(char ch){
- _subAddress.append(ch);
- }
- void readed(const QByteArray & data);
- protected:
- virtual void doHandle(const QByteArray & data) = 0;
- private:
- QByteArray buffer;
- RType readType;
- int toReadlen;
- private:
- bool _checkSubAddress;
- QByteArray _subAddress;
- };
- }
- #endif // RTUHELPER_H
|