#include "parameter.h" #pragma pack(push, 1) typedef struct _parameterInfo { float WorkCurrent; //工作电流 float WorkVoltage; //工作电压 float Temperature; //温度 uint32_t upWard_Uart_Baud; //与网关通信波特率 uint32_t J1_485_Baud; //与J1_485通信波特率 uint32_t J2_485_Baud; //与J2_485通信波特率 uint32_t J3_485_Baud; //与J3_485通信波特率 uint32_t J4_485_Baud; //与J4_485通信波特率 uint32_t J5_0_485_Baud; //与J5_0_485通信波特率 }parameterInfo; #pragma pack(pop) static parameterInfo parameter; #define startConfigAddr 0x00 #define configSize (sizeof(configInfo)) /** * @brief 读取配置文件参数 * @param * @retval */ void readConfigParameter(void) { configInfo tempConfig; read_Flash((uint8_t *)&tempConfig, startConfigAddr, configSize); /* 配置文件校验通过 */ if (tempConfig.crc == checkModebusCrc((uint8_t *)&tempConfig, configSize - 2)) { parameter.J1_485_Baud = tempConfig.J1_485_Baud; parameter.J2_485_Baud = tempConfig.J2_485_Baud; parameter.J3_485_Baud = tempConfig.J3_485_Baud; parameter.J4_485_Baud = tempConfig.J4_485_Baud; parameter.J5_0_485_Baud = tempConfig.J5_0_485_Baud; parameter.upWard_Uart_Baud = tempConfig.upWard_Uart_Baud; } /* 未通过则使用默认参数 */ else { parameter.J1_485_Baud = 9600; parameter.J2_485_Baud = 9600; parameter.J3_485_Baud = 9600; parameter.J4_485_Baud = 9600; parameter.J5_0_485_Baud = 9600; parameter.upWard_Uart_Baud = 115200; } } /** * @brief 写入配置文件参数 * @param inConfigInfo 配置文件 * @retval */ void writeConfigParameter(configInfo inConfigInfo) { write_Flash((uint8_t *)&inConfigInfo, startConfigAddr, configSize); } /** * @brief 得到工作电流 * @param * @retval */ float getWorkCurrent(void) { return parameter.WorkCurrent; } /** * @brief 设置工作电流 * @param * @retval */ void setWorkCurrent(float Curr) { parameter.WorkCurrent = Curr; } /** * @brief 得到工作电压 * @param * @retval */ float getWorkVoltage(void) { return parameter.WorkVoltage; } /** * @brief 设置工作电压 * @param * @retval */ void setWorkVoltage(float Voltage) { parameter.WorkVoltage = Voltage; } /** * @brief 得到温度 * @param * @retval */ float getTemperature(void) { return parameter.Temperature; } /** * @brief 设置温度 * @param * @retval */ void setTemperature(float Temperature) { parameter.Temperature = Temperature; } /** * @brief 得到对智能模块通信波特率 * @param * @retval */ uint32_t getUpWard_Uart_Baud(void) { return parameter.upWard_Uart_Baud; } /** * @brief 得到对J1通信波特率 * @param * @retval */ uint32_t getJ1_485_Baud(void) { return parameter.J1_485_Baud; } /** * @brief 得到对J2通信波特率 * @param * @retval */ uint32_t getJ2_485_Baud(void) { return parameter.J2_485_Baud; } /** * @brief 得到对J3通信波特率 * @param * @retval */ uint32_t getJ3_485_Baud(void) { return parameter.J3_485_Baud; } /** * @brief 得到对J4通信波特率 * @param * @retval */ uint32_t getJ4_485_Baud(void) { return parameter.J4_485_Baud; } /** * @brief 得到对J5_0通信波特率 * @param * @retval */ uint32_t getJ5_0_485_Baud(void) { return parameter.J5_0_485_Baud; }