184 lines
3.4 KiB
C
184 lines
3.4 KiB
C
#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;
|
|
} |