新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > STM32入門筆記(1)——時鐘

        STM32入門筆記(1)——時鐘

        作者: 時間:2016-11-23 來源:網(wǎng)絡(luò) 收藏
        STM32中使用任何一個外設(shè)都必須打開相應(yīng)的時鐘。在STM32中有5個時鐘源可供用戶選擇:

        1.HSI高速內(nèi)部時鐘,RC震蕩器,頻率為8MHz。

        本文引用地址:http://www.104case.com/article/201611/320429.htm

        2.HSE高速外部時鐘,右英/陶瓷諧振器,或著外部時鐘源,4MHz-16MHz.

        3.LSI內(nèi)部低速時鐘,RC震蕩器頻率為40Hz。

        4.LSE外部低速時鐘,接頻率為32.768KHz的石英晶體。

        5.PLL鎖相環(huán)頻輸出,時鐘源可選為HIS/2、HSE或HSE/2。倍頻可選2-16倍,但其輸出頻率最大不能超過72MHz。

        系統(tǒng)時鐘SYSCLK,它是供STM32中絕大部分器件工作的時鐘源,系統(tǒng)時鐘可選擇為PLL輸出、HSI或者HSE。系統(tǒng)時鐘的做大頻率為72MHz,它通過AHB分頻器分頻后送給個模塊使用,AHB分頻器可選擇1、2...512分頻。AHB分頻器輸出的時鐘送給5大模塊使用:

        1.送給AHB總線、內(nèi)核、內(nèi)存、DMA使用的HCLK時鐘。

        2.通過8分頻送給系統(tǒng)定時器的定時時鐘(嘀嗒定時器)。

        3.直接送給Cortex的空閑時鐘PCLK。

        4.送給APB1分頻器可選擇1、2、4、8、16分頻,其輸出一路供APB1外設(shè)使用(PCLK1,最大頻率36M)另一路送給定時器(Timer)2、3、4倍頻器使用。該倍頻器可選擇1或著2倍頻,時鐘輸出供定時器2、3、4使用。

        5.送給APB2分頻器可選擇1、2、4、8、16分頻,其輸出一路供APB2外設(shè)使用(PCLK2,最大頻率72M)另一路送給定時器(Timer)1倍頻器使用。該倍頻器可選擇1或著2倍頻。時鐘輸出供定時器1使用。另外,APB2分頻器還有一路輸出供ADC分頻器使用,分頻后送給ADC模塊使用。ADC分頻器可選 擇為2、4、6、8分頻。

        連接在APB1(低速外設(shè))上設(shè)備有:電源接口、備份接口、CAN、USB、I2C1、I2C2、UART2、UART3、SPI2、窗口看門狗、TIMER2、TIMER3、TIMER4。

        連接在APB2(高速外設(shè))上設(shè)備有:UART1、SPI1、Timer1、ADC1、ADC2、所有普通IO口、第二功能IO口。

        [cpp]view plaincopy
        1. //系統(tǒng)時鐘初始化函數(shù)
        2. //pll:選擇的倍頻數(shù),從2開始,最大值為16
        3. voidStm32_Clock_Init(u8PLL)
        4. {
        5. unsignedchartemp=0;
        6. MYRCC_DeInit();//復位并配置向量表
        7. RCC->CR|=0x00010000;//外部高速時鐘使能HSEON
        8. while(!(RCC->CR>>17));//等待外部時鐘就緒
        9. RCC->CFGR=0X00000400;//APB1=DIV2;APB2=DIV1;AHB=DIV1;
        10. PLL-=2;//抵消2個單位
        11. RCC->CFGR|=PLL<<18;//設(shè)置PLL值2~16
        12. RCC->CFGR|=1<<16;//PLLSRCON
        13. FLASH->ACR|=0x32;//FLASH2個延時周期
        14. RCC->CR|=0x01000000;//PLLON
        15. while(!(RCC->CR>>25));//等待PLL鎖定
        16. RCC->CFGR|=0x00000002;//PLL作為系統(tǒng)時鐘
        17. while(temp!=0x02)//等待PLL作為系統(tǒng)時鐘設(shè)置成功
        18. {
        19. temp=RCC->CFGR>>2;
        20. temp&=0x03;
        21. }
        22. }



        關(guān)鍵詞: STM32入門筆記時

        評論


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

        關(guān)閉
        主站蜘蛛池模板: 海盐县| 监利县| 全州县| 偏关县| 宜君县| 石楼县| 上饶县| 襄城县| 溧阳市| 商河县| 林芝县| 江安县| 玉环县| 七台河市| 北流市| 林周县| 鄄城县| 敦化市| 容城县| 亳州市| 维西| 遂宁市| 凯里市| 汶上县| 浪卡子县| 庆元县| 噶尔县| 陈巴尔虎旗| 瓦房店市| 龙胜| 忻州市| 武汉市| 全州县| 西畴县| 兰溪市| 桐乡市| 鄱阳县| 嘉兴市| 萍乡市| 鹤岗市| 香河县|