78 lines
3.7 KiB
C
78 lines
3.7 KiB
C
/*
|
||
* 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;
|
||
|
||
typedef struct _config_info{
|
||
uint8_t start_Flag[2]; /* 起始标志 */
|
||
uint8_t address[7]; /* 地址 */
|
||
uint32_t baud_485; /* 串口波特率 */
|
||
uint16_t constantCurrentV; /* 电压高于(ConstantCurrentV / 100 + 0.4),小于(ConstantVoltageV / 100 - 0.4)进入mppt模式 */
|
||
uint16_t constantVoltageV; /* 电压高于该(ConstantVoltageV / 100)且电流大于(FloatI / 100 + 0.1)进行恒压充电 */
|
||
uint16_t floatI; /* 电压高于该(ConstantVoltageV / 100)且电流低于(FloatI / 100)进行浮充充电 */
|
||
uint16_t startSolarOpenCircuitV; /* 太阳能板开路电压高于该(电压 / 100)开始充电 */
|
||
uint16_t stopSolarOpenCircuitV; /* 太阳能板开路电压高于该(电压 / 100)停止充电 */
|
||
uint16_t constantVoltageChargeV; /* 恒压充电时的输出电压 */
|
||
uint16_t trickleChargeC; /* 涓流充电电流 */
|
||
uint16_t FloatTime; /* 浮充时间(秒) */
|
||
uint16_t checkSolarOpenCircuitVTime; /* 启动任务中太阳能板开路电压检测时间 */
|
||
uint16_t registerRefreshTime; /* 寄存器数据刷新时间 */
|
||
uint16_t resRefreshTime; /* 线阻计算间隔时长 */
|
||
uint16_t sensorEnableBroadcastTime; /* 传感器运行再次注册的间隔 */
|
||
uint16_t HighSideMosTemperature_stop; /* 当上桥温度达到该值时,停止输出 */
|
||
uint16_t HighSideMosTemperature_end; /* 当上桥温度上升到该值时,降低功率运行 */
|
||
uint16_t HighSideMosTemperature_start; /* 当上桥温度降低到该值时,按照正常情况输出 */
|
||
uint8_t end_Flag; /* 结束标志 */
|
||
}config_info;
|
||
#define CONFIG_INFO_SIZE (sizeof(config_info))
|
||
#pragma pack(pop)
|
||
|
||
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_ */
|