/* * inflash.h * * Created on: 2024年6月24日 * Author: psx */ #ifndef APP_INC_INFLASH_H_ #define APP_INC_INFLASH_H_ #include "debug.h" #pragma pack(push,1) typedef struct _uint8_config_info{ uint8_t start_Flag[2]; /* 起始标志 */ uint8_t address[7]; /* 地址 */ uint8_t end_Flag; /* 结束标志 */ uint8_t Access_Node_Type[2]; /* 接入节点类型 */ uint8_t Communication_Methods[2]; /* 通信方式 */ uint8_t bat485_Baud[4]; /* 串口波特率,为0代表bms不支持通信 */ uint8_t gw485_Baud[4]; /* 串口波特率 */ uint8_t ConstantCurrentV[2]; /* 高于该(电压 / 100),小于ConstantVoltageV * 100电压进行恒流充电 */ uint8_t ConstantVoltageV[2]; /* 高于该(电压 / 100)且电流大于FloatI * 100进行恒压充电 */ uint8_t FloatI[2]; /* 高于该(电压 / 100)且电流低于FloatI * 100进行浮充充电 */ uint8_t startSolarOpenCircuitV[2]; /* 高于该(电压 / 100)开始充电 */ }uint8_config_info; typedef struct _config_info{ uint8_t start_Flag[2]; /* 起始标志 */ uint8_t address[7]; /* 地址 */ uint8_t end_Flag; /* 结束标志 */ uint16_t Access_Node_Type; /* 接入节点类型 */ uint16_t Communication_Methods; /* 通信方式 */ uint32_t bat485_Baud; /* 串口波特率 */ uint32_t gw485_Baud; /* 串口波特率 */ uint16_t ConstantCurrentV; /* 高于该(电压 / 100),小于ConstantVoltageV / 100电压进行恒流充电 */ uint16_t ConstantVoltageV; /* 高于该(电压 / 100)且电流大于FloatI / 100进行恒压充电 */ uint16_t FloatI; /* 高于该(电压 / 100)且电流低于FloatI / 100进行浮充充电 */ uint16_t startSolarOpenCircuitV;/* 高于该(电压 / 100)开始充电 */ }config_info; #define CONFIG_INFO_SIZE (sizeof(config_info)) #pragma pack(pop) /* 接入节点类型 */ typedef enum { POWERBOX = 1, /* 电源箱子 */ MICROMETEOROLOGY = 2, /* 微气象 */ }SL_ACCESSNODETYPE; /* 通信方式 */ typedef enum { RS485 = 1, RJ45 = 2, }SL_COMMUNICATIONMETHODS; extern config_info g_slConfigInfo; #define FLASH_SAVE_ADDR_BEGIN (0x00) #define FLASH_SAVE_ADDR_END (0x00 + CONFIG_INFO_SIZE) void save_config_info(config_info save_config_info); uint8_t read_config_info(void); #endif /* APP_INC_INFLASH_H_ */