12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- /**
- * @Author: 李建
- * @Date: 2024/8/13 10:38
- * Description: 485从站,实现与线控器通讯
- * Copyright: Copyright (©) 2024 永续绿建. All rights reserved.
- */
- #ifndef FFX_BOARD_SLAVE_485_H
- #define FFX_BOARD_SLAVE_485_H
- #include "main.h"
- #define POWER_REG_ADDRESS 0x00 // 电源寄存器
- #define FAN1_LEVEL_REG_ADDRESS 0x01 // 风阀1风速挡位
- #define FAN2_LEVEL_REG_ADDRESS 0x02 // 风阀2风速挡位
- #define FAN3_LEVEL_REG_ADDRESS 0x03 // 风阀3风速挡位
- #define FAN4_LEVEL_REG_ADDRESS 0x04 // 风阀4风速挡位
- #define FAN5_LEVEL_REG_ADDRESS 0x05 // 风阀5风速挡位
- #define S_REG_HOLDING_START 0
- #define S_REG_HOLDING_NREGS 16
- typedef enum {
- // 网关通讯故障
- ERR_GATEWAY = 1 << 2,
- // 线控器通讯故障
- ERR_WIRE_CONTROLLER = 1 << 3,
- } err_code_t;
- /**
- * 设置故障码
- * @param err
- */
- void set_err_code(uint8_t err);
- /**
- * 清除故障码
- * @param err
- */
- void clear_err_code(uint8_t err);
- void set_gateway_err_code(uint8_t err);
- void clear_gateway_err_code(uint8_t err);
- #
- /**
- * 初始化485从站
- */
- void slave_485_init(uint8_t slave_id);
- /**
- * 设置寄存器值
- * @param reg_address
- * @param reg_value
- */
- void set_reg_value(uint8_t reg_address, uint16_t reg_value);
- /**
- * 获取寄存器数据
- * @param reg_address
- * @param reg_value
- */
- void get_reg_value(uint8_t reg_address, uint16_t *reg_value);
- uint16_t get_reg_value2(uint8_t reg_address);
- #endif //FFX_BOARD_SLAVE_485_H
|