stm32库编程默认时钟设置是什么

fiy 其他 48

回复

共3条回复 我来回复
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    STM32库编程默认时钟设置是使用内部时钟源(HSI)作为系统时钟。在STM32芯片上,HSI时钟源的频率为8MHz。默认情况下,内部时钟源被配置为系统时钟(SYSCLK)和主PLL(PLL)的输入时钟。

    在STM32库编程中,可以通过RCC(Reset and Clock Control)模块来配置和管理时钟。通过RCC模块,可以选择不同的时钟源和分频因子来配置系统时钟和外设时钟。

    要修改默认时钟设置,可以在代码中使用以下函数:

    1. RCC_DeInit():将RCC模块的寄存器重置为默认值。
    2. RCC_HSEConfig():配置外部时钟源(HSE)。
    3. RCC_PLLConfig():配置主PLL的输入时钟源和分频因子。
    4. RCC_PLLCmd():使能或禁用主PLL。
    5. RCC_SYSCLKConfig():配置系统时钟源。
    6. RCC_HCLKConfig()、RCC_PCLK1Config()、RCC_PCLK2Config():配置外设时钟分频因子。

    需要注意的是,修改默认时钟设置可能会影响系统的稳定性和外设的正常工作。因此,在修改时钟设置之前,应该仔细阅读芯片的数据手册,并根据具体应用的需求进行合适的配置。

    1年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    STM32库编程的默认时钟设置是HSE(高速外部时钟)作为系统时钟源,使用PLL(锁相环)将HSE时钟频率倍增后作为系统时钟。具体来说,STM32库默认将HSE时钟频率设置为8MHz,并通过PLL将其倍频为系统时钟频率。

    以下是STM32库编程中默认时钟设置的详细步骤:

    1. 外部晶振配置:在STM32库编程中,默认使用HSE时钟作为系统时钟源,因此需要配置外部晶振的相关参数。通常情况下,外部晶振的频率为8MHz。

    2. PLL配置:PLL是一种锁相环电路,可以将输入时钟频率倍频为更高的频率。在STM32库编程中,默认使用PLL将HSE时钟频率倍增为系统时钟频率。倍频系数可以通过寄存器设置来实现。

    3. FLASH等待状态配置:在时钟频率改变时,需要调整FLASH的等待状态,以确保系统稳定。在STM32库编程中,默认会根据系统时钟频率的变化自动调整FLASH等待状态。

    4. 系统时钟配置:配置系统时钟源为PLL输出的时钟频率,并将其作为系统时钟。

    5. 总线时钟配置:配置各个总线(如AHB总线、APB1总线、APB2总线)的时钟频率,以确保外设正常工作。

    需要注意的是,STM32库编程中的默认时钟设置可以通过修改相关寄存器的值进行修改。如果需要修改默认的时钟设置,可以根据具体需求进行配置。

    1年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在STM32库编程中,默认时钟设置是使用内部时钟源(HSI)作为系统时钟源。HSI时钟源的频率为8MHz。这是在出厂时的默认设置。

    在使用STM32库进行编程时,可以通过RCC(Reset and Clock Control)模块来配置系统时钟源和时钟频率。RCC模块提供了一系列的寄存器和位域,用于设置和控制系统时钟。

    下面是设置默认时钟的操作流程:

    1. 启用RCC模块:在使用RCC模块之前,需要先使能RCC模块的时钟。可以通过设置RCC_APB2ENR寄存器的相应位来实现。例如,要启用RCC模块的时钟,可以使用以下代码:

      RCC->APB2ENR |= RCC_APB2ENR_RCCEN;
      
    2. 设置系统时钟源:在RCC模块中,有一个寄存器用于设置系统时钟源,即RCC_CFGR寄存器。可以通过设置该寄存器的相应位来选择系统时钟源。对于默认时钟设置,需要将SW位设置为00,表示使用HSI作为系统时钟源。例如,可以使用以下代码设置系统时钟源:

      RCC->CFGR &= ~RCC_CFGR_SW;
      RCC->CFGR |= RCC_CFGR_SW_HSI;
      
    3. 设置系统时钟频率:在设置系统时钟源之后,还需要设置系统时钟的频率。对于使用HSI作为系统时钟源的默认设置,可以通过设置RCC_CFGR寄存器的HPRE位来设置系统时钟频率的分频系数。默认情况下,HPRE位的值为0,表示不进行分频,系统时钟频率为HSI的频率(即8MHz)。例如,可以使用以下代码设置系统时钟频率:

      RCC->CFGR &= ~RCC_CFGR_HPRE;
      

    通过以上操作,就可以设置STM32库的默认时钟,使用HSI作为系统时钟源,频率为8MHz。在实际的应用中,可以根据需要进行进一步的时钟配置,例如使用外部晶体振荡器作为系统时钟源,或者进行时钟频率的调整。

    1年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部