stm32系统时钟的配置?如何查看stm32默认的系统时钟?
后台-系统设置-扩展变量-手机广告位-内容正文顶部 |
stm32系统时钟的配置?
上面所给的程序是使用内部晶振的,而通常开发板都会使用外部晶振通过倍频使用。内部晶振最高只能倍频到64MHz,而使用外部晶振能够倍频到72MHz。如果板子上确实有外部晶振,请使用外部晶振!使用外部晶振配置实例如下:使用HSE时钟,程序设置时钟参数流程:
1、将RCC寄存器重新设置为默认值 RCC_DeInit;
2、打开外部高速时钟晶振HSE RCC_HSEConfig(RCC_HSE_ON);
3、等待外部高速时钟晶振工作 HSEStartUpStatus = RCC_WaitForHSEStartUp();
4、设置AHB时钟 RCC_HCLKConfig;
5、设置高速AHB时钟 RCC_PCLK2Config;
6、设置低速速AHB时钟 RCC_PCLK1Config;
7、设置PLL RCC_PLLConfig;
8、打开PLL RCC_PLLCmd(ENABLE);
9、等待PLL工作 while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
10、设置系统时钟 RCC_SYSCLKConfig;
11、判断是否PLL是系统时钟 while(RCC_GetSYSCLKSource() != 0x08)12、打开要使用的外设时钟 RCC_APB2PeriphClockCmd()/RCC_APB1PeriphClockCmd()
如何查看stm32默认的系统时钟?
要在仿真时看系统时钟频率,我知道两个方法。第一就是,在system_stm32f10x.c这个文件中,有个全局变量,叫SystemCoreClock,保存了当前系统时钟的值。但是这个变量的值是在编译的时候就固定的,依赖于你的配置,在system_stm32f10x.c文件中有如下定义:另外一个就是,在调试时,KEIL的Peripherals菜单下,找到RCC,如果你安装的版本有硬件仿真,可以直接看到系统时钟频率,没有的话,就找到相关寄存器自己去算了。
来源:文章来源于网络,如有侵权请联系我们删除。 |
来源:文章来源于网络,如有侵权请联系我们删除。 |
留言与评论(共有 0 条评论) |