新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STM32的學(xué)習(xí)心得之RCC(時鐘)

        STM32的學(xué)習(xí)心得之RCC(時鐘)

        作者: 時間:2016-11-28 來源:網(wǎng)絡(luò) 收藏
        51單片機(jī)轉(zhuǎn)到STM32單片機(jī)有點(diǎn)困難,很多理解都停留在51的概念上,對STM32單片機(jī)學(xué)習(xí)需要重新認(rèn)識,比如RTC......

        RTC是STM32單片機(jī)的脈搏,是單片機(jī)的驅(qū)動源。使用任何一個外設(shè)都必須打開相應(yīng)的時鐘。這樣的好處就是,如果不使用一個外設(shè)的時候,就把它的時鐘關(guān)掉,從而可以降低系統(tǒng)的功耗,達(dá)到節(jié)能,實(shí)現(xiàn)低功耗的效果。

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

        STM32單片機(jī)的時鐘可以由以下3個時鐘源提供:

        1、HSI:高速內(nèi)部時鐘信號 stm32單片機(jī)內(nèi)帶的時鐘 (8M頻率)精度較差
        2、HSE:高速外部時鐘信號 精度高 來源(1)HSE外部晶體/陶瓷諧振器(晶振) (2)HSE用戶外部時鐘
        3、LSE:低速外部晶體 32.768kHz 主要提供一個精確的時鐘源 一般作為RCC時鐘使用

        stm32單片機(jī)的將時鐘信號(例如HSE)經(jīng)過分頻或倍頻(PLL)后,得到系統(tǒng)時鐘,系統(tǒng)時鐘經(jīng)過分頻,產(chǎn)生外設(shè)所使用的時鐘。

        了解stm32單片機(jī)的時鐘,下面就是如何使用,我舉個使用HSE時鐘的例子。

        設(shè)置時鐘流程:
        1、將RCC寄存器重新設(shè)置為默認(rèn)值RCC_DeInit
        2、打開外部高速時鐘晶振HSERCC_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è)置PLLRCC_PLLConfig
        8、打開PLLRCC_PLLCmd(ENABLE);
        9、等待PLL工作while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
        10、設(shè)置系統(tǒng)時鐘RCC_SYSCLKConfig
        11、判斷是否PLL是系統(tǒng)時鐘while(RCC_GetSYSCLKSource() != 0x08)
        12、打開要使用的外設(shè)時鐘RCC_APB2PeriphClockCmd()/RCC_APB1PeriphClockCmd()



        評論


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

        關(guān)閉
        主站蜘蛛池模板: 永丰县| 阿拉善盟| 峨边| 大足县| 马龙县| 富源县| 保德县| 武鸣县| 安泽县| 西丰县| 龙游县| 含山县| 英德市| 河南省| 崇阳县| 丹巴县| 鄄城县| 江山市| 秦皇岛市| 阳原县| 湘西| 水城县| 广州市| 江山市| 新竹县| 溆浦县| 苍南县| 达孜县| 彭山县| 海城市| 灵武市| 黑龙江省| 西吉县| 通河县| 济宁市| 广南县| 喀什市| 洛浦县| 和政县| 中超| 汾阳市|