gateway_mcu/CH32V303-FreeRTOS/App/application/Src/parameter.c

185 lines
3.4 KiB
C
Raw Normal View History

2025-03-05 08:27:39 +00:00
#include "parameter.h"
#pragma pack(push, 1)
typedef struct _parameterInfo {
float WorkCurrent; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
float WorkVoltage; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ
float Temperature; //<2F><EFBFBD>
uint32_t upWard_Uart_Baud; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD>Ų<EFBFBD><C5B2><EFBFBD><EFBFBD><EFBFBD>
uint32_t J1_485_Baud; //<2F><>J1_485ͨ<35>Ų<EFBFBD><C5B2><EFBFBD><EFBFBD><EFBFBD>
uint32_t J2_485_Baud; //<2F><>J2_485ͨ<35>Ų<EFBFBD><C5B2><EFBFBD><EFBFBD><EFBFBD>
uint32_t J3_485_Baud; //<2F><>J3_485ͨ<35>Ų<EFBFBD><C5B2><EFBFBD><EFBFBD><EFBFBD>
uint32_t J4_485_Baud; //<2F><>J4_485ͨ<35>Ų<EFBFBD><C5B2><EFBFBD><EFBFBD><EFBFBD>
uint32_t J5_0_485_Baud; //<2F><>J5_0_485ͨ<35>Ų<EFBFBD><C5B2><EFBFBD><EFBFBD><EFBFBD>
}parameterInfo;
#pragma pack(pop)
static parameterInfo parameter;
#define startConfigAddr 0x00
#define configSize (sizeof(configInfo))
/**
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param
* @retval
*/
void readConfigParameter(void)
{
configInfo tempConfig;
read_Flash((uint8_t *)&tempConfig, startConfigAddr, configSize);
/* <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>У<EFBFBD><D0A3>ͨ<EFBFBD><CDA8> */
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;
}
/* δͨ<CEB4><CDA8><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>Ĭ<EFBFBD>ϲ<EFBFBD><CFB2><EFBFBD> */
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.J5_0_485_Baud = 115200;
2025-03-05 08:27:39 +00:00
parameter.upWard_Uart_Baud = 115200;
}
}
/**
* @brief д<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param inConfigInfo <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
* @retval
*/
void writeConfigParameter(configInfo inConfigInfo)
{
write_Flash((uint8_t *)&inConfigInfo, startConfigAddr, configSize);
}
/**
* @brief <EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param
* @retval
*/
float getWorkCurrent(void)
{
return parameter.WorkCurrent;
}
/**
* @brief <EFBFBD><EFBFBD><EFBFBD>ù<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param
* @retval
*/
void setWorkCurrent(float Curr)
{
parameter.WorkCurrent = Curr;
}
/**
* @brief <EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ
* @param
* @retval
*/
float getWorkVoltage(void)
{
return parameter.WorkVoltage;
}
/**
* @brief <EFBFBD><EFBFBD><EFBFBD>ù<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ
* @param
* @retval
*/
void setWorkVoltage(float Voltage)
{
parameter.WorkVoltage = Voltage;
}
/**
* @brief <EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD>
* @param
* @retval
*/
float getTemperature(void)
{
return parameter.Temperature;
}
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param
* @retval
*/
void setTemperature(float Temperature)
{
parameter.Temperature = Temperature;
}
/**
* @brief <EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD>ͨ<EFBFBD>Ų<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param
* @retval
*/
uint32_t getUpWard_Uart_Baud(void)
{
return parameter.upWard_Uart_Baud;
}
/**
* @brief <EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD>J1ͨ<EFBFBD>Ų<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param
* @retval
*/
uint32_t getJ1_485_Baud(void)
{
return parameter.J1_485_Baud;
}
/**
* @brief <EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD>J2ͨ<EFBFBD>Ų<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param
* @retval
*/
uint32_t getJ2_485_Baud(void)
{
return parameter.J2_485_Baud;
}
/**
* @brief <EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD>J3ͨ<EFBFBD>Ų<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param
* @retval
*/
uint32_t getJ3_485_Baud(void)
{
return parameter.J3_485_Baud;
}
/**
* @brief <EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD>J4ͨ<EFBFBD>Ų<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param
* @retval
*/
uint32_t getJ4_485_Baud(void)
{
return parameter.J4_485_Baud;
}
/**
* @brief <EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD>J5_0ͨ<EFBFBD>Ų<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param
* @retval
*/
uint32_t getJ5_0_485_Baud(void)
{
return parameter.J5_0_485_Baud;
}