训练营PLSR题目
No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 
 
 
 
 

51 líneas
1.6 KiB

  1. #ifndef __MODBUS_H__
  2. #define __MODBUS_H__
  3. /* 调用库 */
  4. #include "usart.h"
  5. #include "sram.h"
  6. #include "crc.h"
  7. #include <string.h>
  8. #include <stdlib.h>
  9. /* 宏定义 */
  10. #define READ_COIL_CODE 0x01
  11. #define WRUTE_MUL_COIL_CODE 0x0f
  12. #define READ_REGUSTER_CODE 0x03
  13. #define READ_EXREGUSTER_CODE 0x30
  14. #define WRITE_COIL_CODE 0x05
  15. #define WRITE_MUL_REGISTER_CODE 0x10
  16. #define WRITE_MUL_EXREGISTER_CODE 0x31
  17. #define GET_HISTORY_CODE 0x55
  18. #define READ_ODD_REGUSTER_CODE 0x33
  19. #define SLAVES_ADDRES 0x01
  20. /* 函数声明 */
  21. void ErrorBack(uint8_t buffer[], uint16_t longth);
  22. void ProcessModbusFrame(uint8_t buffer[], uint16_t longth);
  23. void ReadCoilProcess (uint8_t buffer[], uint16_t longth);
  24. void WriteMulCoilProcess(uint8_t buffer[], uint16_t longth);
  25. void ReadRegisterProcess(uint8_t buffer[], uint16_t longth);
  26. void WriteMulRegisterProcess(uint8_t buffer[], uint16_t longth);
  27. void WriteCoilProcess(uint8_t buffer[], uint16_t longth);
  28. void ReadOddRegisterProcess(uint8_t buffer[], uint16_t longth);
  29. void ReadEXRegisterProcess(uint8_t buffer[], uint16_t longth);
  30. void WriteEXRegisterProcess(uint8_t buffer[], uint16_t longth);
  31. void SaveHistory(uint8_t buffer[], uint16_t longth);
  32. void LoadHistory(void);
  33. void GetHistory(uint8_t buffer[], uint16_t longth);
  34. void ModbusLoadSRAM(void);
  35. void ModbusSaveSRAM(void);
  36. /* 变量定义 */
  37. extern uint8_t History[3][512]; /*存放历史的地方*/
  38. extern uint8_t HistoryLongth[3];/*历史数据大小的计数*/
  39. extern uint8_t HistoryLocation; /*当前历史存放到了第几条*/
  40. extern uint8_t Flash_data[20]; /*存入flash的数据*/
  41. extern uint8_t SaveFlag;
  42. #endif