123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- /**
- * @Author: 李建
- * @Date: 2025/4/27 15:35
- * Description: 485主站
- * Copyright: Copyright (©) 2025 永续绿建. All rights reserved.
- */
- #ifndef WIRE_CONTROLLER_MODBUS_MASTER_H
- #define WIRE_CONTROLLER_MODBUS_MASTER_H
- #include "esp_err.h"
- #define MB_PORT_NUM 2 // Number of UART port used for Modbus connection
- #define MB_DEV_SPEED 9600 // The communication speed of the UART
- #define MB_GPIO_RX 2 // uart rx gpio port
- #define MB_GPIO_TX 1 // uart tx gpio port
- #define POWER_ADDRESS_REGISTER 1 // 电源地址
- #define MODE_ADDRESS_REGISTER 2 // 运行模式
- #define FAN_SPEED_ADDRESS_REGISTER 3 // 风机档位
- #define EXTERNAL_TEMPERATURE_ADDRESS_REGISTER 4 // 外部传感器温度
- #define EXTERNAL_HUMIDITY_ADDRESS_REGISTER 5 // 外部传感器湿度
- #define RETURN_AIR_TEMPERATURE_ADDRESS_REGISTER 6 // 回风温度
- #define RETURN_AIR_HUMIDITY_ADDRESS_REGISTER 7 // 回风湿度
- #define RETURN_AIR_PM25_ADDRESS_REGISTER 8 // 回风PM2.5
- #define RETURN_AIR_CO2_ADDRESS_REGISTER 9 // 回风CO2
- #define SELECT_POSITION_ADDRESS_REGISTER 10 // 选择位置
- #define MIN_HUMIDITY_ADDRESS_REGISTER 11 // 最小湿度
- #define MAX_HUMIDITY_ADDRESS_REGISTER 12 // 最大湿度
- #define AIR_EXHAUST_FIRST_VOL_ADDRESS_REGISTER 13 // 排风风机一档电压
- #define AIR_EXHAUST_SECOND_VOL_ADDRESS_REGISTER 14 // 排风风机二档电压
- #define AIR_EXHAUST_THIRD_VOL_ADDRESS_REGISTER 15 // 排风风机三档电压
- #define AIR_EXHAUST_FOURTH_VOL_ADDRESS_REGISTER 16 // 排风风机四档电压
- #define AIR_EXHAUST_FIFTH_VOL_ADDRESS_REGISTER 17 // 排风风机五档电压
- #define AIR_SUPPLY_FIRST_VOL_ADDRESS_REGISTER 18 // 送风风机一档电压
- #define AIR_SUPPLY_SECOND_VOL_ADDRESS_REGISTER 19 // 送风风机二档电压
- #define AIR_SUPPLY_THIRD_VOL_ADDRESS_REGISTER 20 // 送风风机三档电压
- #define AIR_SUPPLY_FOURTH_VOL_ADDRESS_REGISTER 21 // 送风风机四档电压
- #define AIR_SUPPLY_FIFTH_VOL_ADDRESS_REGISTER 22 // 送风风机五档电压
- #define ERROR_CODE_ADDRESS_REGISTER 32 // 错误码
- // 定义协议 CID 表
- enum {
- // 开关机
- CID_POWER = 0,
- // 工作模式
- CID_MODE,
- // 送风风速
- CID_FAN_SPEED,
- // 外部温度
- CID_EXTERNAL_TEMPERATURE,
- // 外部湿度
- CID_EXTERNAL_HUMIDITY,
- // 回风湿度
- CID_RETURN_AIR_TEMPERATURE,
- // 回风湿度
- CID_RETURN_AIR_HUMIDITY,
- // 回风PM2.5
- CID_RETURN_AIR_PM25,
- // 回风CO2
- CID_RETURN_AIR_CO2,
- // 选择位置
- CID_SELECT_POSITION,
- // 最小湿度
- CID_MIN_HUMIDITY,
- // 最大湿度
- CID_MAX_HUMIDITY,
- // 排风一档
- CID_AIR_EXHAUST_FIRST_VOL,
- // 排风二档
- CID_AIR_EXHAUST_SECOND_VOL,
- // 排风三档
- CID_AIR_EXHAUST_THIRD_VOL,
- // 排风四档
- CID_AIR_EXHAUST_FOURTH_VOL,
- // 排风五档
- CID_AIR_EXHAUST_FIFTH_VOL,
- // 送风一档
- CID_AIR_SUPPLY_FIRST_VOL,
- // 送风二档
- CID_AIR_SUPPLY_SECOND_VOL,
- // 送风三档
- CID_AIR_SUPPLY_THIRD_VOL,
- // 送风四档
- CID_AIR_SUPPLY_FOURTH_VOL,
- // 送风五档
- CID_AIR_SUPPLY_FIFTH_VOL,
- // 故障码
- CID_ERROR_CODE,
- };
- void modbus_master_init();
- esp_err_t mm_set_param(uint16_t cid, uint8_t *value);
- esp_err_t mm_get_param(uint16_t cid, uint8_t *value) ;
- void modbus_master_destroy();
- #endif //WIRE_CONTROLLER_MODBUS_MASTER_H
|