要在STM32F103上配置时钟源为内部HSI时钟为64MHz,可以使用以下代码:

#include "stm32f1xx.h"

void SystemClock_Config(void);

int main(void)
{
  // 配置系统时钟
  SystemClock_Config();

  // 在这里编写你的代码

  while (1)
  {
    // 主循环
  }
}

void SystemClock_Config(void)
{
  // 使能内部HSI时钟
  RCC->CR |= RCC_CR_HSION;

  // 等待HSI时钟稳定
  while ((RCC->CR & RCC_CR_HSIRDY) == 0)
  {
  }

  // 设置PLL时钟分频因子
  RCC->CFGR &= ~(RCC_CFGR_PLLMULL | RCC_CFGR_PLLSRC);
  RCC->CFGR |= (RCC_CFGR_PLLMULL9 | RCC_CFGR_PLLSRC_HSI_DIV2);

  // 使能PLL时钟
  RCC->CR |= RCC_CR_PLLON;

  // 等待PLL时钟稳定
  while ((RCC->CR & RCC_CR_PLLRDY) == 0)
  {
  }

  // 配置FLASH存储器读取等待周期为2个等待周期
  FLASH->ACR |= FLASH_ACR_LATENCY_2;

  // 选择PLL作为系统时钟源
  RCC->CFGR &= ~RCC_CFGR_SW;
  RCC->CFGR |= RCC_CFGR_SW_PLL;

  // 等待PLL作为系统时钟源设置成功
  while ((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_PLL)
  {
  }
}

这段代码会将系统时钟源配置为内部HSI时钟,并将HSI时钟频率设置为64MHz。它还会配置PLL时钟,将其倍频因子设置为9,从而将HSI时钟倍频为64MHz。最后,它会将PLL时钟作为系统时钟源,并等待PLL作为系统时钟源设置成功。

请注意,这段代码使用了CMSIS库,并假设你已经正确地配置了系统时钟源和外设时钟源的GPIO引脚。你还需要在SystemClock_Config()函数中添加适当的代码来配置外设时钟源的GPIO引脚

stm32f103 ll库配置时钟源为内部hsi时钟为64mhz代码实现

原文地址: https://www.cveoy.top/t/topic/ihJI 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录