van_com_algorithm.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. /******************************************************************
  2. * Copyright (C) 2023 - 2023 OneChip, Inc. All rights reserved.
  3. * File name: van_com_algorithm.h
  4. * Author: fanyidong Date:2024.1.21
  5. * Description: 常用算法定义
  6. * Others:
  7. * History:
  8. 1. Date:
  9. Author:
  10. Modification:
  11. *****************************************************************/
  12. #ifndef VAN_COM_ALGORITHM_H
  13. #define VAN_COM_ALGORITHM_H
  14. #define VAN_COM_HEADER_FALG 0x55AA
  15. #define VAN_COM_TAIL_FALG 0x5AA5
  16. #define VAN_CFG_NONE 0
  17. #define SIZEOF_MSG_ST 8
  18. #define SIZEOF_MSG_MODBUS 8
  19. #define combine_cmdMessage(msg,header,typeer,cmder,tailer) {\
  20. msg.head = header; \
  21. msg.type = typeer; \
  22. msg.cmd = cmder; \
  23. }
  24. /*通用消息结构体定义*/
  25. typedef struct CmdMessage
  26. {
  27. unsigned short head;
  28. unsigned char type;
  29. unsigned char cmd;
  30. unsigned short len;
  31. unsigned short checksum;
  32. char *data;
  33. } CmdMessage;
  34. /*通用消息结构体定义*/
  35. typedef struct
  36. {
  37. unsigned char head;
  38. unsigned char cmd;
  39. unsigned char reg_H;
  40. unsigned char reg_L;
  41. unsigned char crc_H;
  42. unsigned char crc_L;
  43. } RTUMessage;
  44. unsigned int checkSum(const unsigned char *pInBuffer, unsigned int uLen);
  45. int DecodeNew(struct CmdMessage* pMessage, unsigned char *pdata, const unsigned char *pInBuffer, unsigned int *pheader,unsigned int ulast,unsigned int maxlen);
  46. int DecodeModbud_RTU(unsigned char *pdata,const unsigned char *pInBuffer, unsigned int *pheader, unsigned int ulast, unsigned int maxlen);
  47. #endif