STM 时钟设置问题
所用单片机型号为STM32F103VC, 外部晶振为16MHZ, 需要把系统频率设置为16MHZ,在SetSysClockToHSE内如何修改?我已改了以下两个地方
1: keil C 工程配置选项把晶振频率由8改为16
2:宏定义 #define HSE_VALUE ((uint32_t)16000000)
系统时钟都在这个文件里设置的
本帖最后由 wenyangzeng 于 2018-4-24 20:11 编辑
不止这么简单吧,请参考我的帖子:
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);
}
} dataozi 发表于 2018-4-24 19:54
可以这么配置的
void RCC_Configuration(void)
{
如果我设置成24MHZ,定时器T3也是24M时钟会很不准。例如,500ms的时间实际测量有550ms cpev 发表于 2018-4-25 10:29
如果我设置成24MHZ,定时器T3也是24M时钟会很不准。例如,500ms的时间实际测量有550ms...
如果是16MHZ的外部晶振,那么想设置成24MHZ,先要2分频一下,在3倍频才能成24MHZ
如果是24MHZ的外部晶振,别忘了修改一下底层,HSE变成24mhz
页:
[1]