modbus_master.h 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. /**
  2. * @Author: 李建
  3. * @Date: 2025/4/27 15:35
  4. * Description: 485主站
  5. * Copyright: Copyright (©) 2025 永续绿建. All rights reserved.
  6. */
  7. #ifndef WIRE_CONTROLLER_MODBUS_MASTER_H
  8. #define WIRE_CONTROLLER_MODBUS_MASTER_H
  9. #include "esp_err.h"
  10. #define MB_PORT_NUM 2 // Number of UART port used for Modbus connection
  11. #define MB_DEV_SPEED 9600 // The communication speed of the UART
  12. #define MB_GPIO_RX 2 // uart rx gpio port
  13. #define MB_GPIO_TX 1 // uart tx gpio port
  14. #define POWER_ADDRESS_REGISTER 1 // 电源地址
  15. #define MODE_ADDRESS_REGISTER 2 // 运行模式
  16. #define FAN_SPEED_ADDRESS_REGISTER 3 // 风机档位
  17. #define EXTERNAL_TEMPERATURE_ADDRESS_REGISTER 4 // 外部传感器温度
  18. #define EXTERNAL_HUMIDITY_ADDRESS_REGISTER 5 // 外部传感器湿度
  19. #define RETURN_AIR_TEMPERATURE_ADDRESS_REGISTER 6 // 回风温度
  20. #define RETURN_AIR_HUMIDITY_ADDRESS_REGISTER 7 // 回风湿度
  21. #define RETURN_AIR_PM25_ADDRESS_REGISTER 8 // 回风PM2.5
  22. #define RETURN_AIR_CO2_ADDRESS_REGISTER 9 // 回风CO2
  23. #define SELECT_POSITION_ADDRESS_REGISTER 10 // 选择位置
  24. #define MIN_HUMIDITY_ADDRESS_REGISTER 11 // 最小湿度
  25. #define MAX_HUMIDITY_ADDRESS_REGISTER 12 // 最大湿度
  26. #define AIR_EXHAUST_FIRST_VOL_ADDRESS_REGISTER 13 // 排风风机一档电压
  27. #define AIR_EXHAUST_SECOND_VOL_ADDRESS_REGISTER 14 // 排风风机二档电压
  28. #define AIR_EXHAUST_THIRD_VOL_ADDRESS_REGISTER 15 // 排风风机三档电压
  29. #define AIR_EXHAUST_FOURTH_VOL_ADDRESS_REGISTER 16 // 排风风机四档电压
  30. #define AIR_EXHAUST_FIFTH_VOL_ADDRESS_REGISTER 17 // 排风风机五档电压
  31. #define AIR_SUPPLY_FIRST_VOL_ADDRESS_REGISTER 18 // 送风风机一档电压
  32. #define AIR_SUPPLY_SECOND_VOL_ADDRESS_REGISTER 19 // 送风风机二档电压
  33. #define AIR_SUPPLY_THIRD_VOL_ADDRESS_REGISTER 20 // 送风风机三档电压
  34. #define AIR_SUPPLY_FOURTH_VOL_ADDRESS_REGISTER 21 // 送风风机四档电压
  35. #define AIR_SUPPLY_FIFTH_VOL_ADDRESS_REGISTER 22 // 送风风机五档电压
  36. #define ERROR_CODE_ADDRESS_REGISTER 32 // 错误码
  37. // 定义协议 CID 表
  38. enum {
  39. // 开关机
  40. CID_POWER = 0,
  41. // 工作模式
  42. CID_MODE,
  43. // 送风风速
  44. CID_FAN_SPEED,
  45. // 外部温度
  46. CID_EXTERNAL_TEMPERATURE,
  47. // 外部湿度
  48. CID_EXTERNAL_HUMIDITY,
  49. // 回风湿度
  50. CID_RETURN_AIR_TEMPERATURE,
  51. // 回风湿度
  52. CID_RETURN_AIR_HUMIDITY,
  53. // 回风PM2.5
  54. CID_RETURN_AIR_PM25,
  55. // 回风CO2
  56. CID_RETURN_AIR_CO2,
  57. // 选择位置
  58. CID_SELECT_POSITION,
  59. // 最小湿度
  60. CID_MIN_HUMIDITY,
  61. // 最大湿度
  62. CID_MAX_HUMIDITY,
  63. // 排风一档
  64. CID_AIR_EXHAUST_FIRST_VOL,
  65. // 排风二档
  66. CID_AIR_EXHAUST_SECOND_VOL,
  67. // 排风三档
  68. CID_AIR_EXHAUST_THIRD_VOL,
  69. // 排风四档
  70. CID_AIR_EXHAUST_FOURTH_VOL,
  71. // 排风五档
  72. CID_AIR_EXHAUST_FIFTH_VOL,
  73. // 送风一档
  74. CID_AIR_SUPPLY_FIRST_VOL,
  75. // 送风二档
  76. CID_AIR_SUPPLY_SECOND_VOL,
  77. // 送风三档
  78. CID_AIR_SUPPLY_THIRD_VOL,
  79. // 送风四档
  80. CID_AIR_SUPPLY_FOURTH_VOL,
  81. // 送风五档
  82. CID_AIR_SUPPLY_FIFTH_VOL,
  83. // 故障码
  84. CID_ERROR_CODE,
  85. //预留
  86. CID_RESERVE,
  87. };
  88. void modbus_master_init();
  89. esp_err_t mm_set_param(uint16_t cid, uint8_t *value);
  90. esp_err_t mm_get_param(uint16_t cid, uint8_t *value) ;
  91. void modbus_master_destroy();
  92. #endif //WIRE_CONTROLLER_MODBUS_MASTER_H