您的位置 首页 应用

stm32体系时钟装备问题

系统从上电复位到72mz配置好之前,提供时钟的是内如高速rc振荡器提供8MZ的频率,这个由下面voidSystemInit(void)函数的前面的一部分代

体系从上电复位到72mz装备好之前,供给时钟的是内如高速rc振荡器供给8MZ的频率,这个由下面void SystemInit (void)函数的前面的一部分代码来完结的和确保的:



RCC->CR |= (uint32_t)0x00000001;


#ifndef STM32F10X_CL
RCC->CFGR &= (uint32_t)0xF8FF0000;
#else
RCC->CFGR &= (uint32_t)0xF0FF0000;
#endif


RCC->CR &= (uint32_t)0xFEF6FFFF;


RCC->CR &= (uint32_t)0xFFFBFFFF;


RCC->CFGR &= (uint32_t)0xFF80FFFF;

#ifdef STM32F10X_CL

RCC->CR &= (uint32_t)0xEBFFFFFF;


RCC->CIR = 0x00FF0000;


RCC->CFGR2 = 0x00000000;
#elif defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || (defined STM32F10X_HD_VL)

RCC->CIR = 0x009F0000;


RCC->CFGR2 = 0x00000000;
#else

RCC->CIR = 0x009F0000;
#endif

#if defined (STM32F10X_HD) || (defined STM32F10X_XL) || (defined STM32F10X_HD_VL)
#ifdef DATA_IN_ExtSRAM
SystemInit_ExtMemCtl();
#endif
#endif

接着void SystemInit (void)调用 SetSysClock();函数,将体系时钟装备到72m,将AHB,APB1,APB2等外设之前的时钟都装备好,然后切换到72mz下运转。所以在运用哪个外设的时分,只需要使能相应的外设时钟就可以了

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/257433.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部