/** * @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, //预留 CID_RESERVE, }; 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