stm32 晶振换算

系统时钟通常由PLL生成,公式为:

SystemClock_Config(void) 开发板的输出参数为 96MH

配置如下:

1.8M

SystemClock_Config()

  RCC_OscInitStruct.PLL.PLLM = 12;
  RCC_OscInitStruct.PLL.PLLN = 288;
  RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
  RCC_OscInitStruct.PLL.PLLQ = 4;

#if !defined  (HSE_VALUE)
  #define HSE_VALUE    8000000U /*!< Value of the External oscillator in Hz */

2.12M晶振配置如下

    RCC_OscInitStruct.PLL.PLLM = 12;  // PLLM = 12
    RCC_OscInitStruct.PLL.PLLN = 192;  // PLLN = 336
    RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;  // PLLP = 2
    RCC_OscInitStruct.PLL.PLLQ = 4;  

#if !defined  (HSE_VALUE)
  #define HSE_VALUE    8000000U /*!< Value of the External oscillator in Hz */

总结:

a->PLL.PLLM通常等同于晶振的大小 :外部是xMH晶振则配置为X

b->RCC_PLLP_DIV2分频系数为系统自带:设置为2 

c->PLLN:通常决定SystemClock_Config()的函数输出

d->PLL.PLLQ 决定USB的输出,仅在USB工作频率是48M时USB 才参与工作

SystemClock_Config(void) 函数的输出

注意:

  • PLLM:通常范围为2到63。

  • PLLN:通常范围为50到432。

  • PLLP:通常为2、4、6或8。

思考:SystemClock_Config该函数的输出决定的是什么?

           UART的函数的时钟频率由什么决定?

A-> 我们配置的是SYSCLK() 函数

B-> 各总线的功能

  • AHB 总线时钟(HCLK):用于 CPU、内存和 DMA。

  • APB1 总线时钟(PCLK1):用于低速外设(如 UART2、I2C1)。

  • APB2 总线时钟(PCLK2):用于高速外设(如 UART1、SPI1、TIM1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值