STM32學(xué)習(xí)筆記(關(guān)于時鐘)_第1頁
STM32學(xué)習(xí)筆記(關(guān)于時鐘)_第2頁
STM32學(xué)習(xí)筆記(關(guān)于時鐘)_第3頁
STM32學(xué)習(xí)筆記(關(guān)于時鐘)_第4頁
STM32學(xué)習(xí)筆記(關(guān)于時鐘)_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、STM32學(xué)習(xí)-時鐘(轉(zhuǎn)載)在STM32中,有五個時鐘源,為HSI、HSE、LSI、LSE、PLL。、HSI是高速內(nèi)部時鐘,RC振蕩器,頻率為8MHz。、HSE是高速外部時鐘,可接石英/陶瓷諧振器,或者接外部時鐘源,頻率范圍為4MHz16MHz。HSE/LSE時鐘源、LSI是低速內(nèi)部時鐘,RC振蕩器,頻率為40kHz。、LSE是低速外部時鐘,接頻率為32.768kHz的石英晶體。、PLL為鎖相環(huán)倍頻輸出,其時鐘輸入源可選擇為HSI/2、HSE或者HSE/2。倍頻可選擇為216倍,但是其輸出頻率最大不得超過72MHz。其中40kHz的LSI供獨立看門狗IWDG使用,另外它還可以被選擇為實時時鐘R

2、TC的時鐘源。另外,實時時鐘RTC的時鐘源還可以選擇LSE,或者是HSE的128分頻。RTC的時鐘源通過RTCSEL1:0來選擇。STM32中有一個全速功能的USB模塊,其串行接口引擎需要一個頻率為48MHz的時鐘源。該時鐘源只能從PLL輸出端獲取,可以選擇為1.5分頻或者1分頻,也就是,當(dāng)需要使用USB模塊時,PLL必須使能,并且時鐘頻率配置為48MHz或72MHz。另外,STM32還可以選擇一個時鐘信號輸出到MCO腳(PA8)上,可以選擇為PLL輸出的2分頻、HSI、HSE、或者系統(tǒng)時鐘。系統(tǒng)時鐘SYSCLK,它是供STM32中絕大部分部件工作的時鐘源。系統(tǒng)時鐘可選擇為PLL輸出、HSI或

3、者HSE。系統(tǒng)時鐘最大頻率為72MHz,它通過AHB分頻器分頻后送給各模塊使用,AHB分頻器可選擇1、2、4、8、16、64、128、256、512分頻。其中AHB分頻器輸出的時鐘送給5大模塊使用:、送給AHB總線、內(nèi)核、內(nèi)存和DMA使用的HCLK時鐘。、通過8分頻后送給Cortex的系統(tǒng)定時器時鐘。、直接送給Cortex的空閑運行時鐘FCLK。、送給APB1分頻器。APB1分頻器可選擇1、2、4、8、16分頻,其輸出一路供APB1外設(shè)使用(PCLK1,最大頻率36MHz),另一路送給定時器(Timer)2、3、4倍頻器使用。該倍頻器可選擇1或者2倍頻,時鐘輸出供定時器2、3、4使用。、送給A

4、PB2分頻器。APB2分頻器可選擇1、2、4、8、16分頻,其輸出一路供APB2外設(shè)使用(PCLK2,最大頻率72MHz),另一路送給定時器(Timer)1倍頻器使用。該倍頻器可選擇1或者2倍頻,時鐘輸出供定時器1使用。另外,APB2分頻器還有一路輸出供ADC分頻器使用,分頻后送給ADC模塊使用。ADC分頻器可選擇為2、4、6、8分頻。在以上的時鐘輸出中,有很多是帶使能控制的,例如AHB總線時鐘、內(nèi)核時鐘、各種APB1外設(shè)、APB2外設(shè)等等。當(dāng)需要使用某模塊時,記得一定要先使能對應(yīng)的時鐘。需要注意的是定時器的倍頻器,當(dāng)APB的分頻為1時,它的倍頻值為1,否則它的倍頻值就為2。連接在APB1(低

5、速外設(shè))上的設(shè)備有:電源接口、備份接口、CAN、USB、I2C1、I2C2、UART2、UART3、SPI2、窗口看門狗、Timer2、Timer3、Timer4。注意USB模塊雖然需要一個單獨的48MHz時鐘信號,但它應(yīng)該不是供USB模塊工作的時鐘,而只是提供給串行接口引擎(SIE)使用的時鐘。USB模塊工作的時鐘應(yīng)該是由APB1提供的。連接在APB2(高速外設(shè))上的設(shè)備有:UART1、SPI1、Timer1、ADC1、ADC2、所有普通IO口(PAPE)、第二功能IO口。下圖為STM32芯片的時鐘結(jié)構(gòu)圖。從圖中可以直觀的看出STM32的時鐘封裝。 STM32芯片時鐘配置2009-12-26

6、 11:44 對STM32進(jìn)行軟件開發(fā)時,最基本的就是對STM32芯片進(jìn)行時鐘和端口配置,然后是對項目所用到的片上資源進(jìn)行配置并驅(qū)動,下面給出時鐘和端口配置代碼,該代碼幾乎涵蓋了片上所有時鐘和端口配置項目,可根據(jù)自己需要進(jìn)行刪除不必要的配置項: /* Function Name : RCC_Configuration 復(fù)位時鐘控制配置* Description : Configures the different system clocks.* Input : None* Output : None* Return : None*/void RCC_Configuration(void)/*

7、system clocks configuration -系統(tǒng)時鐘配置-*/* RCC system reset(for debug purpose) */RCC_DeInit(); /將外設(shè)RCC寄存器重設(shè)為缺省值/* Enable HSE */RCC_HSEConfig(RCC_HSE_ON); /開啟外部高速晶振(HSE)/* Wait till HSE is ready */ HSEStartUpStatus = RCC_WaitForHSEStartUp(); /等待HSE起振if(HSEStartUpStatus = SUCCESS) /若成功起振,(下面為系統(tǒng)總線時鐘設(shè)置) /*

8、 Enable Prefetch Buffer */ FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); /使能FLASH預(yù)取指緩存 /* Flash 2 wait state */ FLASH_SetLatency(FLASH_Latency_2); /設(shè)置FLASH存儲器延時時鐘周期數(shù)(根據(jù)不同的系統(tǒng)時鐘選取不同的值) /* HCLK = SYSCLK */ RCC_HCLKConfig(RCC_SYSCLK_Div1); /設(shè)置AHB時鐘=72 MHz /* PCLK2 = HCLK/2 */ RCC_PCLK2Config(RCC

9、_HCLK_Div2); /設(shè)置APB1時鐘=36 MHz(APB1時鐘最大值) /* PCLK1 = HCLK/2 */ RCC_PCLK1Config(RCC_HCLK_Div1); /設(shè)置APB2時鐘=72 MHz /* Configure ADCCLK such as ADCCLK = PCLK2/2 */ RCC_ADCCLKConfig(RCC_PCLK2_Div2); /RCC_PCLK2_Div2,4,6,8 /* PLLCLK = 8MHz * 9 = 72 MHz */ RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);

10、 /PLL必須在其激活前完成配置(設(shè)置PLL時鐘源及倍頻系數(shù)) /* Enable PLL */ RCC_PLLCmd(ENABLE); /* Wait till PLL is ready */ while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) = RESET) /* Select PLL as system clock source */ RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); /* Wait till PLL is used as system clock source */ while(RCC_GetSYSCL

11、KSource() != 0x08) /* Enable peripheral clocks -外設(shè)時鐘使能-*/ /* Enable AHB peripheral clocks -AHB外設(shè)時鐘使能-*/* Enable DMA clock */ RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);/使能DMA時鐘/* Enable SRAM clock */ RCC_AHBPeriphClockCmd(RCC_AHBPeriph_SRAM, ENABLE);/使能SRAM時鐘/* Enable FLITF clock */ RCC_AHBPe

12、riphClockCmd(RCC_AHBPeriph_FLITF, ENABLE);/使能FLITF時鐘/* Enable APB1 peripheral clocks -APB1外設(shè)時鐘使能-*/* TIM2,3,4 clock enable */ RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);/使能TIM2時鐘 if (APB1 prescaler=1) x1/ RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);/使能TIM3時鐘 else x2/ RCC_APB1PeriphC

13、lockCmd(RCC_APB1Periph_TIM4, ENABLE);/使能TIM4時鐘/* WWDG clock enable */ RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG, ENABLE);/使能WWDG時鐘/* Enable SPI2 clocks */ RCC_APB1PeriphClockCmd(RCC_APB2Periph_SPI2, ENABLE);/使能SPI2時鐘/* USART2,3 clock enable */ RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);/

14、使能USART2時鐘(對應(yīng)萬利開發(fā)板上的USART1)/ RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3, ENABLE);/使能USART3時鐘(萬利開發(fā)板上未接該串口)/* I2C1,2 clock enable */ RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1, ENABLE);/使能I2C1時鐘/ RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C2, ENABLE);/使能I2C2時鐘/* USB clock enable / PLL clock divided by

15、1.5 used as USB clock source */ / RCC_USBCLKConfig(RCC_USBCLKSource_PLLCLK_1Div5); /根據(jù)不同PLLCLK選擇分頻比,必須確保USBCLK始終是48MHz / RCC_APB1PeriphClockCmd(RCC_APB1Periph_USB, ENABLE);/使能USB時鐘/* CAN clock enable */ RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN, ENABLE);/使能CAN時鐘/* BKP clock enable */ RCC_APB1PeriphC

16、lockCmd(RCC_APB1Periph_BKP, ENABLE);/使能BKP時鐘/* PWR clock enable */ RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);/使能PWR時鐘/* APB1Periph_ALL clock enable */ RCC_APB1PeriphClockCmd(RCC_APB1Periph_ALL, ENABLE);/使能APB1Periph_ALL時鐘 /* Enable APB2 peripheral clocks -APB2外設(shè)時鐘使能-*/* Enable GPIOA,B,C,D,E

17、 clocks */RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);/使能GPIOA時鐘/ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);/使能GPIOB時鐘RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);/使能GPIOC時鐘RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE);/使能GPIOD時鐘/ RCC_APB2PeriphClockCmd(RCC_APB2Per

18、iph_GPIOE, ENABLE);/使能GPIOE時鐘/* AFIO clock enable */RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);/使能AFIO時鐘/* Enable ADC1,2clocks */ RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);/使能ADC1時鐘/RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC2, ENABLE);/使能ADC2時鐘/* TIM1 clock enable */ RCC_APB2Periph

19、ClockCmd(RCC_APB2Periph_TIM1, ENABLE);/使能TIM1時鐘/* Enable SPI1 clocks */ RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1, ENABLE);/使能SPI1時鐘/* USART1 clock enable */RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);/使能USART1時鐘(對應(yīng)萬利開發(fā)板上的USART0)/* APB1Periph_ALL clock enable */ RCC_APB2PeriphClockCmd(RCC

20、_APB2Periph_ALL, ENABLE);/使能APB2Periph_ALL時鐘/* Enable no peripheral clocks -非總線上外設(shè)時鐘配置-*/* Enable Internal High Speed oscillator */ /RCC_HSICmd(ENABLE); /* Enable the Internal Low Speed oscillator */ /RCC_LSICmd(ENABLE); /給IWDG提供時鐘信號(如果IWDG運行的話,LSI不能被失能) /* Configure RTCCLK such as ADCCLK = PCLK2/2

21、*/ / RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE);/* Select the LSE as RTC clock source */ / RCC_RTCCLKCmd(ENABLE);/* Enable the RTC clock */ /* Enable the Clock Security System */ /RCC_ClockSecuritySystemCmd(ENABLE); /* Output PLL clock divided by 2 on MCO pin */ /RCC_MCOConfig(RCC_MCO_PLLCLK_Div2);/ 警告:

22、當(dāng)選中系統(tǒng)時鐘作為MCO管腳的輸出時,注意它的時鐘頻率不超過50MHz(最大I/O速率)。 在STM32上如果不使用外部晶振,OSC_IN和OSC_OUT的接法如果使用內(nèi)部RC振蕩器而不使用外部晶振,請按照下面方法處理:1)對于100腳或144腳的產(chǎn)品,OSC_IN應(yīng)接地,OSC_OUT應(yīng)懸空。2)對于少于100腳的產(chǎn)品,有2種接法: 2.1)OSC_IN和OSC_OUT分別通過10K電阻接地。此方法可提高EMC性能。 2.2)分別重映射OSC_IN和OSC_OUT至PD0和PD1,再配置PD0和PD1為推挽輸出并輸出0。此方法可以減小功耗并(相對上面2.1)節(jié)省2個外部電阻。使用HSE時鐘,

23、程序設(shè)置時鐘參數(shù)流程:1、將RCC寄存器重新設(shè)置為默認(rèn)值 RCC_DeInit;2、打開外部高速時鐘晶振HSE RCC_HSEConfig(RCC_HSE_ON);3、等待外部高速時鐘晶振工作 HSEStartUpStatus = RCC_WaitForHSEStartUp();4、設(shè)置AHB時鐘 RCC_HCLKConfig;5、設(shè)置高速AHB時鐘 RCC_PCLK2Config;6、設(shè)置低速速AHB時鐘 RCC_PCLK1Config;7、設(shè)置PLL RCC_PLLConfig;8、打開PLL RCC_PLLCmd(ENABLE);9、等待PLL工作 while(RCC_GetFlagSt

24、atus(RCC_FLAG_PLLRDY) = RESET) 10、設(shè)置系統(tǒng)時鐘 RCC_SYSCLKConfig;11、判斷是否PLL是系統(tǒng)時鐘 while(RCC_GetSYSCLKSource() != 0x08)12、打開要使用的外設(shè)時鐘 RCC_APB2PeriphClockCmd()/RCC_APB1PeriphClockCmd()下面是TM32軟件固件庫的程序中對RCC的配置函數(shù)(使用外部8MHz晶振)/* Function Name: RCC_Configuration * Description :RCC配置(使用外部8MHz晶振)* Input : 無* Output :

25、無* Return : 無*/void RCC_Configuration(void)/*將外設(shè)RCC寄存器重設(shè)為缺省值 */RCC_DeInit();/*設(shè)置外部高速晶振(HSE)*/RCC_HSEConfig(RCC_HSE_ON); /RCC_HSE_ONHSE晶振打開(ON)/*等待HSE起振*/HSEStartUpStatus = RCC_WaitForHSEStartUp();if(HSEStartUpStatus = SUCCESS) /SUCCESS:HSE晶振穩(wěn)定且就緒 /*設(shè)置AHB時鐘(HCLK)*/ RCC_HCLKConfig(RCC_SYSCLK_Div1);/RC

26、C_SYSCLK_Div1AHB時鐘 = 系統(tǒng)時鐘 /* 設(shè)置高速AHB時鐘(PCLK2)*/ RCC_PCLK2Config(RCC_HCLK_Div1); /RCC_HCLK_Div1APB2時鐘 = HCLK /*設(shè)置低速AHB時鐘(PCLK1)*/ RCC_PCLK1Config(RCC_HCLK_Div2); /RCC_HCLK_Div2APB1時鐘 = HCLK / 2 /*設(shè)置FLASH存儲器延時時鐘周期數(shù)*/ FLASH_SetLatency(FLASH_Latency_2); /FLASH_Latency_22延時周期 /*選擇FLASH預(yù)取指緩存的模式*/ FLASH_Pr

27、efetchBufferCmd(FLASH_PrefetchBuffer_Enable); / 預(yù)取指緩存使能 /*設(shè)置PLL時鐘源及倍頻系數(shù)*/ RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); / PLL的輸入時鐘 = HSE時鐘頻率;RCC_PLLMul_9PLL輸入時鐘x 9/*使能PLL */ RCC_PLLCmd(ENABLE); /*檢查指定的RCC標(biāo)志位(PLL準(zhǔn)備好標(biāo)志)設(shè)置與否*/ while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) = RESET) /*設(shè)置系統(tǒng)時鐘(SYSCLK) */

28、 RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); /RCC_SYSCLKSource_PLLCLK選擇PLL作為系統(tǒng)時鐘 /* PLL返回用作系統(tǒng)時鐘的時鐘源*/ while(RCC_GetSYSCLKSource() != 0x08) /0x08:PLL作為系統(tǒng)時鐘 /*使能或者失能APB2外設(shè)時鐘*/ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC , ENABLE); /RCC_APB2Periph_GPIOA GPIO

29、A時鐘/RCC_APB2Periph_GPIOB GPIOB時鐘/RCC_APB2Periph_GPIOC GPIOC時鐘/RCC_APB2Periph_GPIOD GPIOD時鐘系統(tǒng)時鐘函數(shù),要設(shè)置系統(tǒng)使用哪個晶振工作。*/voidRCC_Configuration(void)RCC_DeInit();/將外設(shè)RCC寄存器重設(shè)為缺省值RCC_HSEConfig(RCC_HSE_ON);/*設(shè)置外部高速晶振(HSE)這里是設(shè)置高速晶振打開,其實一共有三種設(shè)置RCC_HSE_OFFHSE晶振OFFRCC_HSE_ONHSE晶振ONRCC_HSE_BypassHSE晶振使用外部時鐘源。*/HSES

30、tartUpStatus=RCC_WaitForHSEStartUp();/等待HSE起振if(HSEStartUpStatus=SUCCESS)/等主晶振起振成功起振后執(zhí)行操作FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);/*預(yù)取指緩存使能FLASH_PrefetchBuffer用來選擇FLASH預(yù)取指緩存的模式。如果需關(guān)閉則使用FLASH_PrefetchBuffer_Disable*/FLASH_SetLatency(FLASH_Latency_2);/*設(shè)置代碼延時值FLASH_Latency用來設(shè)置FLASH存儲器延時時鐘周

31、期數(shù)。FLASH_Latency_22為延時周期可以使用以下參數(shù)FLASH_Latency_00延時周期FLASH_Latency_11延時周期FLASH_Latency_22延時周期*/RCC_HCLKConfig(RCC_SYSCLK_Div1);/*設(shè)置AHB時鐘(HCLK)RCC_SYSCLK_Div1AHB時鐘=系統(tǒng)時鐘RCC_SYSCLK_Div2AHB時鐘=系統(tǒng)時鐘/2RCC_SYSCLK_Div4AHB時鐘=系統(tǒng)時鐘/4RCC_SYSCLK_Div8AHB時鐘=系統(tǒng)時鐘/8RCC_SYSCLK_Div16AHB時鐘=系統(tǒng)時鐘/16RCC_SYSCLK_Div64AHB時鐘=系統(tǒng)

32、時鐘/64RCC_SYSCLK_Div128AHB時鐘=系統(tǒng)時鐘/128RCC_SYSCLK_Div256AHB時鐘=系統(tǒng)時鐘/256RCC_SYSCLK_Div512AHB時鐘=系統(tǒng)時鐘/512*/RCC_PCLK2Config(RCC_HCLK_Div2);/*設(shè)置高速AHB時鐘(PCLK2)RCC_HCLK_Div2APB1時鐘=HCLK/2RCC_HCLK_Div1APB2時鐘=HCLKRCC_HCLK_Div2APB2時鐘=HCLK/2RCC_HCLK_Div4APB2時鐘=HCLK/4RCC_HCLK_Div8APB2時鐘=HCLK/8RCC_HCLK_Div16APB2時鐘=HC

33、LK/16*/RCC_PCLK1Config(RCC_HCLK_Div2);/*設(shè)置低速AHB時鐘(PCLK1)RCC_HCLK_Div2APB1時鐘=HCLK/2RCC_HCLK_Div1APB1時鐘=HCLKRCC_HCLK_Div2APB1時鐘=HCLK/2RCC_HCLK_Div4APB1時鐘=HCLK/4RCC_HCLK_Div8APB1時鐘=HCLK/8RCC_HCLK_Div16APB1時鐘=HCLK/16用戶可通過多個預(yù)分頻器配置AHB、高速APB(APB2)和低速APB(APB1)域的頻率。AHB和APB2域的最大頻率是72MHZ?PB1域的最大允許頻率是36MHZ。SDIO

34、接口的時鐘頻率固定為HCLK/2。RCC通過AHB時鐘8分頻后供給Cortex系統(tǒng)定時器的(SysTick)外部時鐘。通過對SysTick控制與狀態(tài)寄存器的設(shè)置,可選擇上述時鐘或CortexAHB時鐘作為SysTick時鐘。ADC時鐘由高速APB2時鐘經(jīng)2、4、6或8分頻后獲得。*/RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);/*PLLCLK=8MHz*9=72MHz設(shè)置PLL時鐘源及倍頻系數(shù)RCC_PLLSource描述RCC_PLLSource_HSI_Div2PLL的輸入時鐘=HSI時鐘頻率除以2RCC_PLLSource_HSE

35、_Div1PLL的輸入時鐘=HSE時鐘頻率RCC_PLLSource_HSE_Div2PLL的輸入時鐘=HSE時鐘頻率除以2RCC_PLLMul描述RCC_PLLMul_2PLL輸入時鐘x2RCC_PLLMul_3PLL輸入時鐘x3RCC_PLLMul_4PLL輸入時鐘x4RCC_PLLMul_5PLL輸入時鐘x5RCC_PLLMul_6PLL輸入時鐘x6RCC_PLLMul_7PLL輸入時鐘x7RCC_PLLMul_8PLL輸入時鐘x8RCC_PLLMul_9PLL輸入時鐘x9RCC_PLLMul_10PLL輸入時鐘x10RCC_PLLMul_11PLL輸入時鐘x11RCC_PLLMul_1

36、2PLL輸入時鐘x12RCC_PLLMul_13PLL輸入時鐘x13RCC_PLLMul_14PLL輸入時鐘x14RCC_PLLMul_15PLL輸入時鐘x15RCC_PLLMul_16PLL輸入時鐘x16警告:必須正確設(shè)置軟件,使PLL輸出時鐘頻率不超過72MHz當(dāng)HSI被用于作為PLL時鐘的輸入時,系統(tǒng)時鐘的最大頻率不得超過64MHz。*/RCC_PLLCmd(ENABLE);/使能或者失能PLL,關(guān)閉使用DISABLEwhile(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)=RESET)/等待指定的RCC標(biāo)志位設(shè)置成功等待PLL初始化成功/*RCC_FLAG值RC

37、C_FLAG描述RCC_FLAG_HSIRDYHSI晶振就緒RCC_FLAG_HSERDYHSE晶振就緒RCC_FLAG_PLLRDYPLL就緒RCC_FLAG_LSERDYLSI晶振就緒RCC_FLAG_LSIRDYLSE晶振就緒RCC_FLAG_PINRST管腳復(fù)位RCC_FLAG_PORRSTPOR/PDR復(fù)位RCC_FLAG_SFTRST軟件復(fù)位RCC_FLAG_IWDGRSTIWDG復(fù)位RCC_FLAG_WWDGRSTWWDG復(fù)位*/RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);/*設(shè)置系統(tǒng)時鐘(SYSCLK)設(shè)置PLL為系統(tǒng)時鐘?RCC_SYSCLKSource描述RCC_SYSCLKSource_HSI選擇HSI作為系統(tǒng)時鐘RCC_SYSCLKSource_HSE選擇HSE作為系統(tǒng)時鐘RCC_SYSCLKSource_PLLCLK選擇PLL作為系統(tǒng)時鐘?*/?while(RCC_GetSYSCLKSource()!=0x08)/*等待PLL成功用作于系統(tǒng)時鐘的時鐘源返回用作系統(tǒng)時鐘的時鐘源

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論