这是本人写的的第一篇CSDN博客,虽然近年来浏览很多,但是自己还是没有动手写过。我看到很多朋友都通过写博客的方式来记笔记,觉得这是一个非常不错的方法。最近在公司实习,身边有很多经验丰富的工程师,他们教会了我很多方法,让我受益匪浅。
STM32F0系列内部高速时钟配置
STM32就不多做介绍了,目前普及程度非常广,除了比较基本的F0和F1系列,还有更加高级的F4和F7系列等,正点原子是一个不错的学习平台。在比较基本的应用中,虽然F1比F0更具性价比,但是有的公司为了最大程度节省成本还是会选用F0系列作为MCU,并且可能会省掉外部晶振模块。
STM32时钟系统框图: 在这种情况下,我们需要配置内部时钟,以内部高速时钟配置为例贴出代码:
RCC_ClocksTypeDef RCC_ClockFreq; //定义结构体变量,用来查看时钟频率
RCC_DeInit();
RCC_HSEConfig(RCC_HSE_OFF);//关闭外部时钟HSE
RCC_PLLConfig(RCC_PLLSource_HSI_Div2,RCC_PLLMul_12);//PLL倍频至48M HZ
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);//配置SYSCLK
RCC_HCLKConfig(RCC_SYSCLK_Div1);//配置HCLK
RCC_PCLKConfig(RCC_HCLK_Div1);//配置PCLK
RCC_GetClocksFreq(&RCC_ClockFreq);//函数初始化