在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            STM32時(shí)鐘控制RCC

            作者: 時(shí)間:2016-11-28 來(lái)源:網(wǎng)絡(luò) 收藏
            對(duì)于單片機(jī)系統(tǒng)來(lái)說(shuō),CPU和總線以及外設(shè)的時(shí)鐘設(shè)置是非常重要的,因?yàn)闆](méi)有時(shí)鐘就沒(méi)有時(shí)序,組合電路能干什么想必各位心里都清楚。其實(shí)時(shí)鐘的學(xué)習(xí)這部分應(yīng)該提前一些,但由于一開(kāi)始時(shí)間比較短,有些急于求成,所以直接使用了萬(wàn)利給的例程,姑且跳過(guò)了這一步。介于下面我計(jì)劃要學(xué)習(xí)的任務(wù)都涉及到兆級(jí)的高速傳輸,例如全速USB,DMA等等,所以不能再忽略時(shí)鐘啦,必須要仔細(xì)研究一下。


            我學(xué)習(xí)RCC的參考資料:
            技術(shù)文檔0427及其中文翻譯版STM32F10xxx_Library_Manual_ChineseV2的第十五章和RM0008_CH參考手冊(cè)。

            準(zhǔn)備知識(shí):
            片上總線標(biāo)準(zhǔn)種類(lèi)繁多,而由ARM公司推出的AMBA片上總線受到了廣大IP開(kāi)發(fā)商和SoC系統(tǒng)集成者的青睞,已成為一種流行的工業(yè)標(biāo)準(zhǔn)片上結(jié)構(gòu)。AMBA規(guī)范主要包括了AHB(Advanced High performance Bus)系統(tǒng)總線和APB(Advanced Peripheral Bus)外圍總線。二者分別適用于高速與相對(duì)低速設(shè)備的連接。


            由于時(shí)鐘是一個(gè)由內(nèi)而外的東西,具體設(shè)置要從寄存器開(kāi)始。

            RCC 寄存器結(jié)構(gòu),RCC_TypeDeff,在文件“stm32f10x_map.h”中定義如下:
            typedef struct
            {
            vu32 CR;
            vu32 CFGR;
            vu32 CIR;
            vu32 APB2RSTR;
            vu32 APB1RSTR;
            vu32 AHBENR;
            vu32 APB2ENR;
            vu32 APB1ENR;
            vu32 BDCR;
            vu32 CSR;
            } RCC_TypeDef;

            這些寄存器的具體定義和使用方式參見(jiàn)芯片手冊(cè),在此不贅述,因?yàn)镃語(yǔ)言的開(kāi)發(fā)可以不和他們直接打交道,當(dāng)然如果能夠加以理解和記憶,無(wú)疑是百利而無(wú)一害。

            相信細(xì)心的朋友早就發(fā)現(xiàn)板子上只有8Mhz的晶振,而增強(qiáng)型最高工作頻率為72Mhz,顯然需要用PLL倍頻9倍,這些設(shè)置都需要在初始化階段完成。為了方便說(shuō)明,我借用一下例程的RCC設(shè)置函數(shù),并用中文注釋的形式加以說(shuō)明:


            //在此指出上面的注釋頭應(yīng)該是復(fù)制過(guò)來(lái)的,寫(xiě)錯(cuò)了...不過(guò)沒(méi)關(guān)系,反正沒(méi)參數(shù)需要說(shuō)明,重要的是函數(shù)體。
            static void RCC_Config(void)
            {

            本文引用地址:http://www.biyoush.com/article/201611/322968.htm


            RCC_DeInit();


            RCC_HSEConfig(RCC_HSE_ON);


            HSEStartUpStatus = RCC_WaitForHSEStartUp();

            if (HSEStartUpStatus == SUCCESS)
            {

            FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);


            FLASH_SetLatency(FLASH_Latency_2);


            RCC_HCLKConfig(RCC_SYSCLK_Div1);


            RCC_PCLK2Config(RCC_HCLK_Div1);


            RCC_PCLK1Config(RCC_HCLK_Div2);


            RCC_ADCCLKConfig(RCC_PCLK2_Div6);


            //上面這句例程中缺失了,但卻很關(guān)鍵

            RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);


            RCC_PLLCmd(ENABLE);



            while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
            {}


            RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);


            while (RCC_GetSYSCLKSource() != 0x08)
            {}
            }


            //使能外圍接口總線時(shí)鐘,注意各外設(shè)的隸屬情況,不同芯片的分配不同,到時(shí)候查手冊(cè)就可以
            RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE);

            RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE |
            RCC_APB2Periph_GPIOF | RCC_APB2Periph_GPIOG |
            RCC_APB2Periph_AFIO, ENABLE);
            }


            由上述程序可以看出系統(tǒng)時(shí)鐘的設(shè)定是比較復(fù)雜的,外設(shè)越多,需要考慮的因素就越多。同時(shí)這種設(shè)定也是有規(guī)律可循的,設(shè)定參數(shù)也是有順序規(guī)范的,這是應(yīng)用中應(yīng)當(dāng)注意的,例如PLL的設(shè)定需要在使能之前,一旦PLL使能后參數(shù)不可更改。

            經(jīng)過(guò)此番設(shè)置后,由于我的電路板上是8Mhz晶振,所以系統(tǒng)時(shí)鐘為72Mhz,高速總線和低速總線2都為72Mhz,低速總線1為36Mhz,ADC時(shí)鐘為12Mhz,USB時(shí)鐘經(jīng)過(guò)1.5分頻設(shè)置就可以實(shí)現(xiàn)48Mhz的數(shù)據(jù)傳輸。

            一般性的時(shí)鐘設(shè)置需要先考慮系統(tǒng)時(shí)鐘的來(lái)源,是內(nèi)部RC還是外部晶振還是外部的振蕩器,是否需要PLL。然后考慮內(nèi)部總線和外部總線,最后考慮外設(shè)的時(shí)鐘信號(hào)。遵從先倍頻作為CPU時(shí)鐘,然后在由內(nèi)向外分頻,下級(jí)遷就上級(jí)的原則有點(diǎn)兒類(lèi)似PCB制圖的規(guī)范化要求,在這里也一樣。


            關(guān)鍵詞: STM32時(shí)鐘控制RC

            評(píng)論


            技術(shù)專(zhuān)區(qū)

            關(guān)閉