谨以此记录在配置时钟时出现的错误,第一次写,逻辑可能会出一点问题
在上次的项目中采用正点原子开发板进行调试,出现systick延时与TIM3定时器计时出错的问题,采用的HSI配置程序如下:
__IO uint32_t HSIStartUpStatus = 0;
RCC_DeInit(); // 把 RCC 外设初始化成复位状态,这句是必须的
RCC_HSICmd(ENABLE); //使能 HSI
HSIStartUpStatus = RCC->CR & RCC_CR_HSIRDY; // 等待 HSI 就绪
// 只有 HSI 就绪之后则继续往下执行
if (HSIStartUpStatus == RCC_CR_HSIRDY)
{
// 使能 FLASH 预存取缓冲区
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
// SYSCLK 周期与闪存访问时间的比例设置,这里统一设置成 2
// 设置成 2 的时候,SYSCLK 低于 48M 也可以工作,如果设置成 0 或者 1 的时候,
// 如果配置的 SYSCLK 超出了范围的话,则会进入硬件错误,程序就死了
// 0:0 < SYSCLK <= 24M
// 1:24< SYSCLK <= 48M
// 2:48< SYSCLK <= 72M
FLASH_SetLatency(FLASH_Latency_2);
// AHB 预分频因子设置为 1 分频,HCLK = SYSCLK
RCC_HCLKConfig(RCC_SY