utilsfunc.h 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #ifndef UTILS_FUNC_H
  2. #define UTILS_FUNC_H
  3. #include <QByteArray>
  4. #include <QBitArray>
  5. #ifdef _MSC_VER
  6. #pragma execution_character_set("utf-8")
  7. #endif
  8. /***
  9. * 通讯处理的公共函数
  10. */
  11. namespace UtilsFun {
  12. /// 代码和校验
  13. uchar daiMaHe(const QByteArray & ch, int len );
  14. /// CRC 校验
  15. ushort CRC(const QByteArray & ch,int len);
  16. /// LRC 校验
  17. uchar LRC(const QByteArray & ch,int len);
  18. /// BCC 异或校验和
  19. uchar XOR(const QByteArray & ch,int len);
  20. void getRTUBytes(float v, char * ary);
  21. void getRTUBytes(int v, char * ary);
  22. void getRTUBytes(short v, char * ary);
  23. float toFloatRTUValue(const char * ary);
  24. int toIntRTUValue(const char * ary);
  25. short toShortRTUValue(const char * ary);
  26. /// 反转 QByteArray
  27. QByteArray reverse(const QByteArray & ch);
  28. /// 获取 QByteArray 的每一位的值
  29. QBitArray getBits(const QByteArray & ch);
  30. /// 把 QBitArray 转换为字节数组
  31. QByteArray toBytes(const QBitArray & bits);
  32. }
  33. #endif // DATAPACK_H