新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > stm32系統(tǒng)時(shí)鐘配置問(wèn)題

stm32系統(tǒng)時(shí)鐘配置問(wèn)題

作者: 時(shí)間:2016-11-27 來(lái)源:網(wǎng)絡(luò) 收藏
系統(tǒng)從上電復(fù)位到72mz配置好之前,提供時(shí)鐘的是內(nèi)如高速rc振蕩器提供8MZ的頻率,這個(gè)由下面void SystemInit (void)函數(shù)的前面的一部分代碼來(lái)完成的和保證的:



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

本文引用地址:http://butianyuan.cn/article/201611/322423.htm


#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)調(diào)用 SetSysClock();函數(shù),將系統(tǒng)時(shí)鐘配置到72m,將AHB,APB1,APB2等外設(shè)之前的時(shí)鐘都配置好,然后切換到72mz下運(yùn)行。所以在使用哪個(gè)外設(shè)的時(shí)候,只需要使能相應(yīng)的外設(shè)時(shí)鐘就可以了



評(píng)論


技術(shù)專區(qū)

關(guān)閉