STM32:外部晶振时钟配置



void SystemClock_Config(void)
{
	RCC_DeInit();
	RCC_HSEConfig(RCC_HSE_ON); //INPUT HSE = 24M	
	ErrorStatus HSEStartUpStatus = RCC_WaitForHSEStartUp();
	if(HSEStartUpStatus == SUCCESS) 
	{
		FLASH_PrefetchBufferCmd(ENABLE);    //M0 defined 
		FLASH_SetLatency(FLASH_Latency_1);  //M0 defined 
		RCC_PREDIV1Config(RCC_PREDIV1_Div1);
		RCC_PLLConfig(RCC_PLLSource_PREDIV1, RCC_PLLMul_2);   //PLL CLK = HSE *RCC_PLLSource_PREDIV1*2 = 48M  
		RCC_PLLCmd(ENABLE);                                   //enable PLL CLK		
		while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)    //WAIT PLL CLK ready 
		{
		}
		RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); //SELECT SYSCLK = PLLCLK =48M
		// *  
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
STM32F207是一款32位的ARM Cortex-M3微控制器,它可以通过外部来提供系统时钟。下面是配置和使用STM32F207外部的步骤: 1. 确定参数:首先,你需要确定外部的频率和稳定性要求。通常,的频率可以选择为8MHz、12MHz、16MHz等。根据你的需求选择合适的。 2. 连接:将的两个引脚连接到STM32F207微控制器上的相应引脚。通常,的一个引脚连接到微控制器的输入引脚(例如PC14),另一个引脚连接到输出引脚(例如PC15)。 3. 配置时钟源:在使用外部之前,需要配置时钟源。可以通过RCC(Reset and Clock Control)模块来配置。具体步骤如下: a. 启用外部作为主时钟源:设置RCC_CFGR寄存器的SW位为10,表示选择外部作为主时钟源。 b. 配置PLL(Phase-Locked Loop):如果需要更高的系统时钟频率,可以使用PLL来倍频外部频率。设置RCC_CFGR寄存器的PLLSRC位为1,表示选择外部作为PLL输入源。然后,设置RCC_CFGR寄存器的PLLM和PLLN位来配置PLL的分频和倍频系数。 c. 等待PLL稳定:在配置完PLL后,需要等待PLL稳定。可以通过检查RCC_CR寄存器的PLLRDY位来判断PLL是否稳定。 4. 配置系统时钟配置时钟源后,需要将系统时钟配置为所需的频率。可以通过设置FLASH_ACR寄存器的LATENCY位来配置Flash访问延迟。然后,设置RCC_CFGR寄存器的HPRE、PPRE1和PPRE2位来配置AHB、APB1和APB2总线的分频系数。 5. 启动外部:最后,启动外部。可以通过设置RCC_CR寄存器的HSEON位来启动外部。 以上是配置和使用STM32F207外部的基本步骤。具体的配置寄存器和位操作可以参考STM32F207的参考手册和相关资料。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值