以下是在STM32F103上使用LL库配置时钟为64MHz,时钟源为内部HSI的代码示例:

#include "stm32f1xx_ll_bus.h"
#include "stm32f1xx_ll_rcc.h"

void SystemClock_Config(void);

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

  // ... 其他初始化代码

  while (1)
  {
    // ... 主循环代码
  }
}

void SystemClock_Config(void)
{
  // 使能内部HSI
  LL_RCC_HSI_Enable();

  // 等待内部HSI稳定
  while (LL_RCC_HSI_IsReady() != 1)
  {
  }

  // 配置系统时钟源为HSI
  LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_HSI);

  // 配置AHB时钟分频为不分频,即SYSCLK
  LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1);

  // 配置APB1时钟分频为2,即SYSCLK/2
  LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_2);

  // 配置APB2时钟分频为1,即SYSCLK/1
  LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1);

  // 配置系统时钟为64MHz
  LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_HSI);
  LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_HSI);

  // 等待系统时钟切换完成
  while (LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_HSI)
  {
  }
}

上述代码中,SystemClock_Config()函数用于配置系统时钟。首先,使能并等待内部HSI稳定。然后,配置系统时钟源为HSI,并配置各个时钟分频器,最后将系统时钟设置为64MHz。在最后的循环中,等待时钟切换完成。

请注意,这只是一个基本的配置示例。在实际应用中,可能还需要配置其他外设的时钟,例如UART、SPI、I2C等。具体操作可以参考STM32F1系列的参考手册和LL库的API文档

stm32f103 ll库配置时钟为64mhz时钟源为内部hsi

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

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