STM32F103 ------ 时钟配置
Posted god-of-death
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM32F103 ------ 时钟配置相关的知识,希望对你有一定的参考价值。
由于stm32的库默认是外部晶振8M的情况下实现的,所以配置波特率的时候也是按8M,包括主频,如果用12M晶振就需要改动几个地方:
在system_stm32f10x.c中找到相应类型的文件,进行如下修改。
1)72M主频:
8M时:
RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9);
12M:
RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL6);
2)stm32f10x.h中修改:
*#define HSE_Value ((uint32_t)12000000) /!< Value of the External oscillator in Hz /*
如果调试时遇到串口输出不正确的时候,可以直接查看stm32的内部时钟是多少。
举例说明:
/*
*/
void RCC_GetClocksFreq(RCC_ClocksTypeDef* RCC_Clocks);
RCC_ClocksTypeDef ClockInfo;
int main(void)
{
RCC_GetClocksFreq(&ClockInfo);
/* Infinite loop */
- 1
- 2
while ( 1 )
{
}
- 1
- 2
}
通过观察ClockInfo这个结构体,可以清楚直观的看到配置的内部时钟信息。
以上是关于STM32F103 ------ 时钟配置的主要内容,如果未能解决你的问题,请参考以下文章
STM32F103想用内部时钟HSI做为系统时钟,怎么配置成36M
STM32学习笔记 一基于STM32F103C8T6最小系统板和STM32CubeMX实现LED灯循环闪烁