|
RTC时间相差太大,如何设置为外部晶振?
void MF_RCC_XTLF_IO_Init(void)
{
FL_GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.pin = FL_GPIO_PIN_9;
GPIO_InitStruct.mode = FL_GPIO_MODE_ANALOG;
GPIO_InitStruct.outputType = FL_GPIO_OUTPUT_PUSHPULL;
GPIO_InitStruct.pull = FL_DISABLE;
GPIO_InitStruct.remapPin = FL_DISABLE;
FL_GPIO_Init(GPIOD, &GPIO_InitStruct);
GPIO_InitStruct.pin = FL_GPIO_PIN_10;
GPIO_InitStruct.mode = FL_GPIO_MODE_ANALOG;
GPIO_InitStruct.outputType = FL_GPIO_OUTPUT_PUSHPULL;
GPIO_InitStruct.pull = FL_DISABLE;
GPIO_InitStruct.remapPin = FL_DISABLE;
FL_GPIO_Init(GPIOD, &GPIO_InitStruct);
}
void MF_Clock_Init(void)
{
/* Initial XTLF */
MF_RCC_XTLF_IO_Init();
FL_RCC_XTLF_SetWorkCurrent(FL_RCC_XTLF_WORK_CURRENT_450NA); /* 设置工作电流为最大以便快速起振 */
FL_RCC_XTLF_Enable();
/* Initial Low Speed Clock */
FL_RCC_SetLSCLKClockSource(FL_RCC_LSCLK_CLK_SOURCE_LPOSC);
/* Initial RCHF */
FL_RCC_RCHF_SetFrequency(FL_RCC_RCHF_FREQUENCY_8MHZ);
FL_RCC_RCHF_Enable();
/* Initial System Clock */
FL_FLASH_SetReadWait(FLASH, FL_FLASH_READ_WAIT_0CYCLE); /* 设置FLASH读等待为 0 个周期 */
FL_RCC_SetSystemClockSource(FL_RCC_SYSTEM_CLK_SOURCE_RCHF); /* 设置系统主时钟为 RCHF */
FL_RCC_SetAHBPrescaler(FL_RCC_AHBCLK_PSC_DIV1);
FL_RCC_SetAPB1Prescaler(FL_RCC_APB1CLK_PSC_DIV1);
FL_RCC_SetAPB2Prescaler(FL_RCC_APB2CLK_PSC_DIV1);
SystemCoreClockUpdate();
}
这样设置有问题吗?
|
|