完善通信部分和soe
This commit is contained in:
parent
eaecfce9ad
commit
ade6e13f20
|
@ -12,6 +12,8 @@ void eventsOrderRecordStartInit(void);
|
|||
void setEventsOrderRecord(void);
|
||||
void readEventsOrderRecord(uint16_t offset, uint8_t *data);
|
||||
void insertEventsOrderRecord(eventsOrderRecordMode mode);
|
||||
void cleanEventsOrderRecord(void);
|
||||
|
||||
|
||||
uint16_t getSoeDataInfoSize(void);
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
|
||||
/* SL协议读取寄存器最大地址 */
|
||||
#define maxReadRegAddrMacro 0x0120
|
||||
#define maxReadRegAddrMacro 0x0150
|
||||
/* SL协议读取寄存器最小地址 */
|
||||
#define minReadRegAddrMacro 0x0100
|
||||
/* SL协议读取寄存器最大长度 */
|
||||
|
@ -18,7 +18,7 @@
|
|||
|
||||
|
||||
/* SL协议写入寄存器最大地址 */
|
||||
#define maxWriteRegAddrMacro 0x0120
|
||||
#define maxWriteRegAddrMacro 0x0150
|
||||
/* SL协议写入寄存器最小地址 */
|
||||
#define minWriteRegAddrMacro 0x0100
|
||||
/* SL协议写入寄存器最大长度 */
|
||||
|
|
|
@ -171,7 +171,16 @@ void setEventsOrderRecord(void)
|
|||
return;
|
||||
}
|
||||
|
||||
write_Flash((uint8_t *)(&soeInfo.outData), soeParameters.pos, soeDataInfoSize);
|
||||
write_Flash((uint8_t *)(soeInfo.outData), soeParameters.pos, soeDataInfoSize);
|
||||
// read_Flash((uint8_t *)(soeInfo.outData), eventsOrderRecordStartAddr, sizeof(soeStorageParameters));
|
||||
|
||||
// debug_printf("mode = %d \n", soeInfo.outData->mode);
|
||||
// debug_printf("year = %d \n", soeInfo.outData->time.year);
|
||||
// debug_printf("month = %d \n", soeInfo.outData->time.month);
|
||||
// debug_printf("day = %d \n", soeInfo.outData->time.day);
|
||||
// debug_printf("hour = %d \n", soeInfo.outData->time.hour);
|
||||
// debug_printf("minute = %d \n", soeInfo.outData->time.minute);
|
||||
// debug_printf("second = %d \n", soeInfo.outData->time.second);
|
||||
|
||||
soeParameters.len++;
|
||||
if (soeParameters.len >= 100) {
|
||||
|
@ -207,15 +216,26 @@ void readEventsOrderRecord(uint16_t offset, uint8_t *data)
|
|||
{
|
||||
uint16_t addr;
|
||||
|
||||
if (soeParameters.len + 1 - offset < 0) {
|
||||
if (soeParameters.len - offset < 0) {
|
||||
addr = eventsOrderRecordStartAddr + sizeof(soeStorageParameters)
|
||||
+ (100 + soeParameters.len + 1 - offset) * soeDataInfoSize;
|
||||
+ (100 + soeParameters.len - offset) * soeDataInfoSize;
|
||||
} else {
|
||||
addr = eventsOrderRecordStartAddr + sizeof(soeStorageParameters)
|
||||
+ (soeParameters.len + 1 - offset) * soeDataInfoSize;
|
||||
+ (soeParameters.len - offset) * soeDataInfoSize;
|
||||
}
|
||||
|
||||
read_Flash(data, addr, soeDataInfoSize);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief 清除SOE所有事件
|
||||
* @param
|
||||
*/
|
||||
void cleanEventsOrderRecord(void)
|
||||
{
|
||||
erase_Sector_Flash((eventsOrderRecordStartAddr / 4096));
|
||||
soeParameters.len = 0;
|
||||
soeParameters.pos = eventsOrderRecordStartAddr + sizeof(soeParameters);
|
||||
write_Flash((uint8_t *)(&soeParameters), eventsOrderRecordStartAddr, sizeof(soeParameters));
|
||||
}
|
||||
|
|
|
@ -9,6 +9,8 @@
|
|||
#include "interruptSend.h"
|
||||
#include "inFlash.h"
|
||||
#include "SOE.h"
|
||||
#include "FM_RTC.h"
|
||||
#include "SOE.h"
|
||||
|
||||
/* 状态机 */
|
||||
typedef enum {
|
||||
|
@ -53,7 +55,7 @@ typedef enum
|
|||
|
||||
SL_Register_Solar_Open_Circuit_Voltage = 0x0100, /* 太阳能开路电压 */
|
||||
SL_Register_Solar_Input_Voltage = 0x0101, /* 太阳能输入电压 */
|
||||
SL_Register_Output_Voltage = 0x0102, /* 电池电压 */
|
||||
SL_Register_Output_Voltage = 0x0102, /* 输出电压 */
|
||||
SL_Register_Battery_Voltage = 0x0103, /* 电池电压 */
|
||||
SL_Register_Charg_Current = 0x0104, /* 充电电流(流向电池+负载) */
|
||||
SL_Register_Discharg_Current = 0x0105, /* 放电电流(流向负载) */
|
||||
|
@ -63,8 +65,12 @@ typedef enum
|
|||
SL_Register_totalChargCapacity = 0x0109, /* 总充电量 */
|
||||
SL_Register_totalElectricityConsumption = 0x010A, /* 总放电量 */
|
||||
SL_Register_MPPT_Mode = 0x010B, /* 工作模式 */
|
||||
SL_Register_eliminateStatistical = 0x010C, /* 消除统计 */
|
||||
SL_Register_Charg_Control = 0x010D, /* 充电控制 */
|
||||
SL_Register_eliminateStatistical = 0x0120, /* 消除统计 */
|
||||
SL_Register_Charg_Control = 0x0121, /* 充电控制 */
|
||||
SL_Register_Clean_SOE = 0x0122, /* 清除SOE */
|
||||
SL_Register_YearMonth = 0x0130, /* rtc时钟校准-年月 */
|
||||
SL_Register_DayHour = 0x0131, /* rtc时钟校准-日时 */
|
||||
SL_Register_MinuteSecond = 0x0132, /* rtc时钟校准-分秒 */
|
||||
}SL_Mppt_MsgRegister;
|
||||
|
||||
/* 配置文件数据类型表 */
|
||||
|
@ -155,9 +161,16 @@ static uint16_t SL_ReadRegisterChargState(void *pMsg);
|
|||
static uint16_t SL_ReadRegisterTotalChargCapacity(void *pMsg);
|
||||
static uint16_t SL_ReadRegisterTotalElectricityConsumption(void *pMsg);
|
||||
static uint16_t SL_ReadRegisterMPPT_Mode(void *pMsg);
|
||||
static uint16_t SL_ReadRegisterYearMonth(void *pMsg);
|
||||
static uint16_t SL_ReadRegisterDayHour(void *pMsg);
|
||||
static uint16_t SL_ReadRegisterMinuteSecond(void *pMsg);
|
||||
|
||||
static uint16_t SL_WriteRegisterEliminateStatistical(void *pMsg);
|
||||
static uint16_t SL_WriteRegisterChargControl(void *pMsg);
|
||||
static uint16_t SL_WriteRegisterCleanSOE(void *pMsg);
|
||||
static uint16_t SL_WriteRegisterYearMonth(void *pMsg);
|
||||
static uint16_t SL_WriteRegisterDayHour(void *pMsg);
|
||||
static uint16_t SL_WriteRegisterMinuteSecond(void *pMsg);
|
||||
|
||||
/* 寄存器处理表 */
|
||||
typedef uint16_t (*RegProcFunc)(void*);
|
||||
|
@ -185,6 +198,9 @@ SL_RegProcTable g_RegTblR[] =
|
|||
{SL_Register_totalChargCapacity, SL_ReadRegisterTotalChargCapacity},
|
||||
{SL_Register_totalElectricityConsumption, SL_ReadRegisterTotalElectricityConsumption},
|
||||
{SL_Register_MPPT_Mode, SL_ReadRegisterMPPT_Mode},
|
||||
{SL_Register_YearMonth, SL_ReadRegisterYearMonth},
|
||||
{SL_Register_DayHour, SL_ReadRegisterDayHour},
|
||||
{SL_Register_MinuteSecond, SL_ReadRegisterMinuteSecond},
|
||||
};
|
||||
|
||||
/* 寄存器处理表 */
|
||||
|
@ -196,6 +212,10 @@ SL_RegProcTable g_RegTblW[] =
|
|||
// {SL_Register_Communication_Methods, SL_WriteRegisterCommunicationMethods},
|
||||
{SL_Register_eliminateStatistical, SL_WriteRegisterEliminateStatistical},
|
||||
{SL_Register_Charg_Control, SL_WriteRegisterChargControl},
|
||||
{SL_Register_Clean_SOE, SL_WriteRegisterCleanSOE},
|
||||
{SL_Register_YearMonth, SL_WriteRegisterYearMonth},
|
||||
{SL_Register_DayHour, SL_WriteRegisterDayHour},
|
||||
{SL_Register_MinuteSecond, SL_WriteRegisterMinuteSecond},
|
||||
};
|
||||
|
||||
/* 配置文件解析函数 */
|
||||
|
@ -1118,6 +1138,42 @@ uint16_t SL_ReadRegisterMPPT_Mode(void *pMsg)
|
|||
return getMPPT_Mode();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 读取年月
|
||||
* @param
|
||||
* @retval 年月
|
||||
*/
|
||||
uint16_t SL_ReadRegisterYearMonth(void *pMsg)
|
||||
{
|
||||
timeInfo time;
|
||||
getRTC_Time(&time);
|
||||
return (time.year << 8) | time.month;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 读取日时
|
||||
* @param
|
||||
* @retval 日时
|
||||
*/
|
||||
uint16_t SL_ReadRegisterDayHour(void *pMsg)
|
||||
{
|
||||
timeInfo time;
|
||||
getRTC_Time(&time);
|
||||
return (time.day << 8) | time.hour;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 读取分秒
|
||||
* @param
|
||||
* @retval 分秒
|
||||
*/
|
||||
uint16_t SL_ReadRegisterMinuteSecond(void *pMsg)
|
||||
{
|
||||
timeInfo time;
|
||||
getRTC_Time(&time);
|
||||
return (time.minute << 8) | time.second;
|
||||
}
|
||||
|
||||
/* 写入寄存器 */
|
||||
/**
|
||||
* @brief 清除统计电量
|
||||
|
@ -1151,6 +1207,96 @@ uint16_t SL_WriteRegisterChargControl(void *pMsg)
|
|||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 清除SOE
|
||||
* @param
|
||||
* @retval
|
||||
*/
|
||||
uint16_t SL_WriteRegisterCleanSOE(void *pMsg)
|
||||
{
|
||||
debug_printf("SL_WriteRegisterCleanSOE\n");
|
||||
cleanEventsOrderRecord();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 写入年月
|
||||
* @param
|
||||
* @retval
|
||||
*/
|
||||
static timeInfo writeTime;
|
||||
uint16_t SL_WriteRegisterYearMonth(void *pMsg)
|
||||
{
|
||||
// timeInfo time;
|
||||
// getRTC_Time(&time);
|
||||
|
||||
// uint8_t tempU8 = (uint8_t)((*(uint16_t*)pMsg) >> 8);
|
||||
// time.year = tempU8;
|
||||
// tempU8 = (uint8_t)(*(uint16_t*)pMsg);
|
||||
// time.month = tempU8;
|
||||
uint8_t tempU8 = (uint8_t)((*(uint16_t*)pMsg) >> 8);
|
||||
writeTime.year = tempU8;
|
||||
tempU8 = (uint8_t)(*(uint16_t*)pMsg);
|
||||
writeTime.month = tempU8;
|
||||
|
||||
// setRTC_Time(&time);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 写入日时
|
||||
* @param
|
||||
* @retval
|
||||
*/
|
||||
uint16_t SL_WriteRegisterDayHour(void *pMsg)
|
||||
{
|
||||
// timeInfo time;
|
||||
// getRTC_Time(&time);
|
||||
|
||||
// uint8_t tempU8 = (uint8_t)((*(uint16_t*)pMsg) >> 8);
|
||||
// time.day = tempU8;
|
||||
// tempU8 = (uint8_t)(*(uint16_t*)pMsg);
|
||||
// time.hour = tempU8;
|
||||
|
||||
// setRTC_Time(&time);
|
||||
|
||||
uint8_t tempU8 = (uint8_t)((*(uint16_t*)pMsg) >> 8);
|
||||
writeTime.day = tempU8;
|
||||
tempU8 = (uint8_t)(*(uint16_t*)pMsg);
|
||||
writeTime.hour = tempU8;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 写入分秒
|
||||
* @param
|
||||
* @retval
|
||||
*/
|
||||
uint16_t SL_WriteRegisterMinuteSecond(void *pMsg)
|
||||
{
|
||||
// timeInfo time;
|
||||
// getRTC_Time(&time);
|
||||
|
||||
// uint8_t tempU8 = (uint8_t)((*(uint16_t*)pMsg) >> 8);
|
||||
// time.minute = tempU8;
|
||||
// tempU8 = (uint8_t)(*(uint16_t*)pMsg);
|
||||
// time.second = tempU8;
|
||||
|
||||
// setRTC_Time(&time);
|
||||
|
||||
uint8_t tempU8 = (uint8_t)((*(uint16_t*)pMsg) >> 8);
|
||||
writeTime.minute = tempU8;
|
||||
tempU8 = (uint8_t)(*(uint16_t*)pMsg);
|
||||
writeTime.second = tempU8;
|
||||
|
||||
setRTC_Time(&writeTime);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 解析下发的配置文件
|
||||
* @param pMsg 需要解析的内容
|
||||
|
@ -1925,6 +2071,7 @@ uint8_t *analysisReadProfile(uint8_t *pMsg, uint8_t **outData, uint16_t *dataLen
|
|||
return (pMsg + 2);
|
||||
}
|
||||
|
||||
debug_printf("dataType error : %d\n", dataType);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
@ -2292,15 +2439,31 @@ void SL_MsgProcFunc_Read_Profile(device_handle device, void *pMsg, uint32_t MsgL
|
|||
analysisData += 12;
|
||||
|
||||
/* 解析一包的时间小于100ms */
|
||||
uint16_t tickstart1 = HAL_GetTick();
|
||||
uint32_t tickstart1;
|
||||
tickstart1 = HAL_GetTick();
|
||||
while ((analysisData != (((uint8_t *)pMsg + MsgLen) - 3)) && (analysisData != NULL) && ((HAL_GetTick() - tickstart1) < 100)) {
|
||||
// while ((analysisData != (((uint8_t *)pMsg + MsgLen) - 3)) && (analysisData != NULL)) {
|
||||
analysisData = analysisReadProfile(analysisData, &replay_pack, &replayPackDatalen);
|
||||
}
|
||||
|
||||
if (((HAL_GetTick() - tickstart1) >= 100) || (analysisData == NULL)) {
|
||||
if (analysisData != (((uint8_t *)pMsg + MsgLen) - 3) || (analysisData == NULL) || ((HAL_GetTick() - tickstart1) > 100)) {
|
||||
// debug_printf("analysisData error \n");
|
||||
return;
|
||||
}
|
||||
|
||||
// if (analysisData == NULL) {
|
||||
// debug_printf("analysisData == NULL \n");
|
||||
// return;
|
||||
// }
|
||||
|
||||
// if (analysisData != (((uint8_t *)pMsg + MsgLen) - 3)) {
|
||||
// debug_printf("HAL_GetTick() - tickstart1 : %d \n", (HAL_GetTick() - tickstart1));
|
||||
// debug_printf("analysisData != (((uint8_t *)pMsg + MsgLen) - 3) \n");
|
||||
// return;
|
||||
// }
|
||||
|
||||
|
||||
|
||||
uint8_t *replay_pack1 = getInsertData();
|
||||
*(replay_pack1 + 10) = (uint8_t)(replayPackDatalen >> 8);
|
||||
*(replay_pack1 + 11) = (uint8_t)(replayPackDatalen);
|
||||
|
@ -2318,6 +2481,9 @@ void SL_MsgProcFunc_Read_Profile(device_handle device, void *pMsg, uint32_t MsgL
|
|||
*replay_pack = g_cfgParameter.endFlagSL;
|
||||
|
||||
uart_insertDataSend(device, 15 + replayPackDatalen);
|
||||
|
||||
|
||||
debug_printf("SL_MsgProcFunc_Read_Profile end\n");
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -9,6 +9,8 @@
|
|||
void Flash_Init(void);
|
||||
void read_Flash(uint8_t* pBuffer,uint32_t ReadAddr,uint16_t NumByteToRead);
|
||||
void write_Flash(uint8_t* pBuffer,uint32_t WriteAddr,uint16_t NumByteToWrite);
|
||||
void erase_Sector_Flash(uint32_t secpos);
|
||||
|
||||
|
||||
|
||||
#endif
|
|
@ -179,15 +179,17 @@ BOOL readOverCurrState(void)
|
|||
BOOL readOnlyPowerOutputState(void)
|
||||
{
|
||||
// static volatile GPIO_PinState gpioTemp1, gpioTemp2, gpioTemp3;
|
||||
GPIO_PinState gpioTemp1, gpioTemp2, gpioTemp3;
|
||||
// GPIO_PinState gpioTemp1, gpioTemp2, gpioTemp3;
|
||||
GPIO_PinState gpioTemp1, gpioTemp2;
|
||||
|
||||
gpioTemp1 = HAL_GPIO_ReadPin(POW_FF_CON_GPIO_Port, POW_FF_CON_Pin);
|
||||
gpioTemp2 = HAL_GPIO_ReadPin(POW_OUT_CON_GPIO_Port, POW_OUT_CON_Pin);
|
||||
gpioTemp3 = HAL_GPIO_ReadPin(DSG_PROT_GPIO_Port, DSG_PROT_Pin);
|
||||
// gpioTemp3 = HAL_GPIO_ReadPin(DSG_PROT_GPIO_Port, DSG_PROT_Pin);
|
||||
|
||||
if (gpioTemp1 == GPIO_PIN_SET
|
||||
&& gpioTemp2 == GPIO_PIN_SET
|
||||
&& gpioTemp3 == GPIO_PIN_SET) {
|
||||
// && gpioTemp3 == GPIO_PIN_SET) {
|
||||
) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
|
|
@ -22,9 +22,9 @@ void FM_RTC_Init(void)
|
|||
void setRTC_Time(timeInfo *time)
|
||||
{
|
||||
/* 日期结构体 */
|
||||
static RTC_DateTypeDef setData;
|
||||
RTC_DateTypeDef setData;
|
||||
/* 时间结构体 */
|
||||
static RTC_TimeTypeDef setTime;
|
||||
RTC_TimeTypeDef setTime;
|
||||
|
||||
setData.Year = time->year;
|
||||
setData.Month = time->month;
|
||||
|
@ -46,9 +46,9 @@ void setRTC_Time(timeInfo *time)
|
|||
void getRTC_Time(timeInfo *time)
|
||||
{
|
||||
/* 日期结构体 */
|
||||
static RTC_DateTypeDef getData;
|
||||
RTC_DateTypeDef getData;
|
||||
/* 时间结构体 */
|
||||
static RTC_TimeTypeDef getTime;
|
||||
RTC_TimeTypeDef getTime;
|
||||
|
||||
HAL_RTC_GetDate(&hrtc, &getData, RTC_FORMAT_BIN);
|
||||
HAL_RTC_GetTime(&hrtc, &getTime, RTC_FORMAT_BIN);
|
||||
|
|
|
@ -95,3 +95,13 @@ void write_Flash(uint8_t* pBuffer,uint32_t WriteAddr,uint16_t NumByteToWrite)
|
|||
// Flash_Write_MorePage(pBuffer, WriteAddr, NumByteToWrite);
|
||||
// W25Q128_Write(pBuffer, WriteAddr, NumByteToWrite);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief 清除flash中secpos扇区的数据
|
||||
*
|
||||
*/
|
||||
void erase_Sector_Flash(uint32_t secpos)
|
||||
{
|
||||
W25QXX_Erase_Sector(secpos);
|
||||
}
|
||||
|
|
|
@ -18,6 +18,29 @@ void HD_RTC_Init(void)
|
|||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
// RTC_TimeTypeDef sTime = {0};
|
||||
// RTC_DateTypeDef sDate = {0};
|
||||
|
||||
// sTime.Hours = 0;
|
||||
// sTime.Minutes = 0;
|
||||
// sTime.Seconds = 0;
|
||||
// sTime.SubSeconds = 0;
|
||||
// sTime.DayLightSaving = RTC_DAYLIGHTSAVING_NONE;
|
||||
// sTime.StoreOperation = RTC_STOREOPERATION_RESET;
|
||||
// if (HAL_RTC_SetTime(&hrtc, &sTime, RTC_FORMAT_BIN) != HAL_OK)
|
||||
// {
|
||||
// Error_Handler();
|
||||
// }
|
||||
// sDate.WeekDay = RTC_WEEKDAY_MONDAY;
|
||||
// sDate.Month = RTC_MONTH_JANUARY;
|
||||
// sDate.Date = 1;
|
||||
// sDate.Year = 0;
|
||||
|
||||
// if (HAL_RTC_SetDate(&hrtc, &sDate, RTC_FORMAT_BIN) != HAL_OK)
|
||||
// {
|
||||
// Error_Handler();
|
||||
// }
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -73,6 +73,7 @@ void SystemClock_Config(void);
|
|||
*/
|
||||
int main(void)
|
||||
{
|
||||
|
||||
/* USER CODE BEGIN 1 */
|
||||
|
||||
/* USER CODE END 1 */
|
||||
|
@ -151,14 +152,13 @@ void SystemClock_Config(void)
|
|||
/** Initializes the RCC Oscillators according to the specified parameters
|
||||
* in the RCC_OscInitTypeDef structure.
|
||||
*/
|
||||
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_LSE;
|
||||
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE|RCC_OSCILLATORTYPE_LSE;
|
||||
RCC_OscInitStruct.HSEState = RCC_HSE_ON;
|
||||
RCC_OscInitStruct.LSEState = RCC_LSE_ON;
|
||||
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
|
||||
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
|
||||
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
|
||||
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;
|
||||
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
|
||||
RCC_OscInitStruct.PLL.PLLM = RCC_PLLM_DIV1;
|
||||
RCC_OscInitStruct.PLL.PLLN = 9;
|
||||
RCC_OscInitStruct.PLL.PLLN = 18;
|
||||
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
|
||||
RCC_OscInitStruct.PLL.PLLQ = RCC_PLLQ_DIV2;
|
||||
RCC_OscInitStruct.PLL.PLLR = RCC_PLLR_DIV2;
|
||||
|
|
|
@ -351,23 +351,23 @@ RCC.FCLKCortexFreq_Value=72000000
|
|||
RCC.FDCANFreq_Value=72000000
|
||||
RCC.FamilyName=M
|
||||
RCC.HCLKFreq_Value=72000000
|
||||
RCC.HSE_VALUE=8000000
|
||||
RCC.HSI48_VALUE=48000000
|
||||
RCC.HSI_VALUE=16000000
|
||||
RCC.I2C1Freq_Value=72000000
|
||||
RCC.I2C2Freq_Value=72000000
|
||||
RCC.I2C3Freq_Value=72000000
|
||||
RCC.I2SFreq_Value=72000000
|
||||
RCC.IPParameters=ADC12Freq_Value,AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,CRSFreq_Value,CortexFreq_Value,EXTERNAL_CLOCK_VALUE,FCLKCortexFreq_Value,FDCANFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI48_VALUE,HSI_VALUE,I2C1Freq_Value,I2C2Freq_Value,I2C3Freq_Value,I2SFreq_Value,LPTIM1Freq_Value,LPUART1Freq_Value,LSCOPinFreq_Value,LSI_VALUE,MCO1PinFreq_Value,PLLN,PLLPoutputFreq_Value,PLLQoutputFreq_Value,PLLRCLKFreq_Value,PWRFreq_Value,RNGFreq_Value,RTCClockSelection,RTCFreq_Value,SAI1Freq_Value,SYSCLKFreq_VALUE,SYSCLKSource,UART4Freq_Value,USART1Freq_Value,USART2Freq_Value,USART3Freq_Value,USBFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value
|
||||
RCC.IPParameters=ADC12Freq_Value,AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,CRSFreq_Value,CortexFreq_Value,EXTERNAL_CLOCK_VALUE,FCLKCortexFreq_Value,FDCANFreq_Value,FamilyName,HCLKFreq_Value,HSI48_VALUE,HSI_VALUE,I2C1Freq_Value,I2C2Freq_Value,I2C3Freq_Value,I2SFreq_Value,LPTIM1Freq_Value,LPUART1Freq_Value,LSCOPinFreq_Value,LSI_VALUE,MCO1PinFreq_Value,PLLN,PLLPoutputFreq_Value,PLLQoutputFreq_Value,PLLRCLKFreq_Value,PLLSourceVirtual,PWRFreq_Value,RNGFreq_Value,RTCClockSelection,RTCFreq_Value,SAI1Freq_Value,SYSCLKFreq_VALUE,SYSCLKSource,UART4Freq_Value,USART1Freq_Value,USART2Freq_Value,USART3Freq_Value,USBFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value
|
||||
RCC.LPTIM1Freq_Value=72000000
|
||||
RCC.LPUART1Freq_Value=72000000
|
||||
RCC.LSCOPinFreq_Value=32000
|
||||
RCC.LSI_VALUE=32000
|
||||
RCC.MCO1PinFreq_Value=16000000
|
||||
RCC.PLLN=9
|
||||
RCC.PLLN=18
|
||||
RCC.PLLPoutputFreq_Value=72000000
|
||||
RCC.PLLQoutputFreq_Value=72000000
|
||||
RCC.PLLRCLKFreq_Value=72000000
|
||||
RCC.PLLSourceVirtual=RCC_PLLSOURCE_HSE
|
||||
RCC.PWRFreq_Value=72000000
|
||||
RCC.RNGFreq_Value=72000000
|
||||
RCC.RTCClockSelection=RCC_RTCCLKSOURCE_LSE
|
||||
|
@ -380,7 +380,7 @@ RCC.USART1Freq_Value=72000000
|
|||
RCC.USART2Freq_Value=72000000
|
||||
RCC.USART3Freq_Value=72000000
|
||||
RCC.USBFreq_Value=72000000
|
||||
RCC.VCOInputFreq_Value=16000000
|
||||
RCC.VCOInputFreq_Value=8000000
|
||||
RCC.VCOOutputFreq_Value=144000000
|
||||
RTC.Format=RTC_FORMAT_BIN
|
||||
RTC.IPParameters=Format,WeekDay
|
||||
|
|
Loading…
Reference in New Issue