STM32 103 内部定时器不准

system_stm32f10x.c

    /*  PLL configuration: PLLCLK = HSE * 9 = 72 MHz HSE=12M*/
    RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE |
                                        RCC_CFGR_PLLMULL));
    RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL6);

    /*  PLL configuration: PLLCLK = HSE * 9 = 72 MHz HSE=8M*/
    RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE |
                                        RCC_CFGR_PLLMULL));
    RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9);

程序烧录进去之后发现滴答定时器不准。搜索一番后发现8M 12M部分需要修改,
改完之后发现还不对,滴答定时器慢了9倍,判断问题为外部晶振不起振,是用了内部8M HSI,
示波器测量发现果然是。后换晶振的谐振电容 ok。

你可能感兴趣的:(单片机,C语言,stm32)