所用单片机型号为STM32F103VC, 外部晶振为16MHZ, 需要把系统频率设置为16MHZ,在SetSysClockToHSE内如何修改? 我已改了以下两个地方 1: keil C 工程配置选项 把晶振频率由8改为16 2:宏定义 #define HSE_VALUE ((uint32_t)16000000)
评分
查看全部评分
不止这么简单吧,请参考我的帖子:
https://www.stmcu.org.cn/module/forum/thread-614091-1-1.html
评分
查看全部评分
void RCC_Configuration(void)
{
ErrorStatus HSEStartUpStatus;
RCC_DeInit();
RCC_HSEConfig(RCC_HSE_ON);
HSEStartUpStatus=RCC_WaitForHSEStartUp();
if(HSEStartUpStatus==SUCCESS)
{
RCC_PLLConfig(RCC_PLLSource_HSE_Div2, RCC_PLLMul_2);
RCC_HCLKConfig(RCC_SYSCLK_Div1);
RCC_PCLK2Config(RCC_HCLK_Div1);
RCC_PCLK1Config(RCC_HCLK_Div1);//注意这里
FLASH_SetLatency(FLASH_Latency_0);
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
RCC_PLLCmd(ENABLE);
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) ;
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
while(RCC_GetSYSCLKSource() != 0x08);
}
}
评分
查看全部评分
如果我设置成24MHZ,定时器T3也是24M 时钟会很不准。例如,500ms的时间实际测量有550ms
如果是16MHZ的外部晶振,那么想设置成24MHZ,先要2分频一下,在3倍频才能成24MHZ
如果是24MHZ的外部晶振,别忘了修改一下底层,HSE变成24mhz
评分
查看全部评分