stm32f103 ll库配置时钟为64mhz时钟源为内部hsi
以下是在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文档
原文地址: https://www.cveoy.top/t/topic/ihJA 著作权归作者所有。请勿转载和采集!