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