女人被狂躁到高潮视频免费无遮挡,内射人妻骚骚骚,免费人成小说在线观看网站,九九影院午夜理论片少妇,免费av永久免费网址

當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]上次了解了STM32F4時鐘系統(tǒng)中PLL的基本狀況, 現(xiàn)在我打算自已動手配置一下STM32的時鐘, 使用PLL將STM32F429的主頻倍到168MHz去, Let’s go.名詞注解:RCC: Reset Clock Config, 復(fù)位時鐘配置.下面直接上代碼, 但有有一

上次了解了STM32F4時鐘系統(tǒng)中PLL的基本狀況, 現(xiàn)在我打算自已動手配置一下STM32的時鐘, 使用PLL將STM32F429的主頻倍到168MHz去, Let’s go.

名詞注解:
RCC: Reset Clock Config, 復(fù)位時鐘配置.

下面直接上代碼, 但有有一點要注意:在使能PLL之前PLL所有的參數(shù)都要配置完畢, 等PLL使能后PLL是不可以再進行配置的.

代碼:

void RCC_Config(void)

{

ErrorStatus status = ERROR;

// 復(fù)位RCC寄存器

RCC_DeInit();

// 打開外部高速晶振

RCC_HSEConfig(RCC_HSE_ON);

// 等待高速晶振穩(wěn)定

status = RCC_WaitForHSEStartUp();

if (status == SUCCESS)

{

// 使能flash緩存預(yù)讀取

FLASH_PrefetchBufferCmd(ENABLE);

// 在STM32F42xxx和STM32F43xxx中, 這個值與電壓和主頻都有關(guān)系.

// 當(dāng)電壓在2.7-3.6V, 150 < HCLK <= 180MHz時, 為5個WS

FLASH_SetLatency(FLASH_Latency_5);

// 配置PLL, SYSCLK = 168MHz

RCC_PLLConfig(RCC_PLLSource_HSE, 2, 84, 2, 7);

// 使能PLL

RCC_PLLCmd(ENABLE);

// 等待PLL穩(wěn)定

while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);

// 設(shè)置PLL為系統(tǒng)時鐘

RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);

// 等待PLL被用于系統(tǒng)時鐘

while (RCC_GetSYSCLKSource() != 0x08);

}

else

{

// HSE啟動失敗, 死循環(huán)

while (1);

}

return;

}

使用以上代碼就可以使用PLL將主頻倍到168MHz去了, RCC_PLLConfig(RCC_PLLSource_HSE, 2, 84, 2, 7)這個函數(shù)中的參數(shù)怎么計算可以參照上一節(jié), 在這里不再多說.
接下來就是相應(yīng)外設(shè)時鐘的配置, 建議在相應(yīng)的外設(shè)初始化中配置即可. 不同的外設(shè)屬于不同的總線, 在使用外設(shè)前記得配置對應(yīng)的時鐘.
在RCC初始化中調(diào)用了兩個FLASH相關(guān)的函數(shù), 這里說一下是怎么回事.

ARM的大部分指令可以在一個時鐘周期中執(zhí)行完成, 當(dāng)CPU主頻為168MHz時, 指令周期大約為6us, 但是Flash的讀取時間大約為35us, 這樣就帶來一個矛盾, CPU執(zhí)行速度太快, 指令來不及從Flash讀取. 為了使CPU能全速運行, Flash控制器使用了一個128位的指令預(yù)讀緩沖器, 可存儲4條32位指令或者8條16位指令. FLASH_PrefetchBufferCmd(ENABLE)指令用來使能這個緩存區(qū),需要注意的是當(dāng)電壓低于2.1V時緩存區(qū)必須禁用掉(RM0090 P80). FLASH_SetLatency(FLASH_Latency_5)設(shè)置Flash預(yù)讀緩存所需要的等待狀態(tài), 這個值與CPU的主頻和電壓均有關(guān)系, 具體可以參考數(shù)據(jù)手冊, 對于STM32F42xxx和STM32F43xxx, 主頻在150M到180M之間時, 需要5個等待狀態(tài)(Wait states), 為6個CPU周期.


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

在嵌入式開發(fā)中,STM32的時鐘系統(tǒng)因其靈活性和復(fù)雜性成為開發(fā)者關(guān)注的焦點。然而,看似簡單的時鐘配置背后,隱藏著諸多易被忽視的陷阱,輕則導(dǎo)致系統(tǒng)不穩(wěn)定,重則引發(fā)硬件損壞。本文從時鐘源選擇、PLL配置、總線時鐘分配等關(guān)鍵環(huán)...

關(guān)鍵字: STM32 時鐘系統(tǒng)

好,有了CPU、存儲器、總線以及外設(shè),我們把它們有機地組合封裝在一起,再把各個外設(shè)、總線的信號,以及供電和地通過引腳引出來,這就是一片完整的單片機芯片。等等,要讓單片機跑起來似乎還少了些什么?對,還有時鐘!

關(guān)鍵字: 時鐘系統(tǒng) 單片機 CPU

基于ARM? Cortex?-M4的STM32F4 MCU系列采用了意法半導(dǎo)體的NVM工藝和ART Accelerator?,在高達180 MHz的工作頻率下通過閃存執(zhí)行時其處理性能達到225 DMIPS/608 Cor...

關(guān)鍵字: stm32f4 ARM

stm32f4和f1都有哪些區(qū)別?除了需要的頭文件不一樣,管腳配置什么的有區(qū)別么?

關(guān)鍵字: stm32f4 f1 比較

STM32F407VET6引腳圖及中文資料

關(guān)鍵字: stm32f4 引腳圖

比較F1的片子對于F4的RTC來說有很大提升,F(xiàn)4的RTC提供了日歷時鐘和兩個可編程鬧鐘中斷,一個周期性可編程喚醒標(biāo)志。這樣很方便設(shè)置系統(tǒng)時間,并不會像F1的RTC那樣要自己計算年月日時分秒。F4的RTC是一個獨立的BC...

關(guān)鍵字: rtc stm32f4

【實驗?zāi)康摹枯敵?路占空比不同的PWM信號是各個版本ST庫必備的例子。本實驗的主要目的不是表現(xiàn)ST芯片PWM功能的強大,而是要完成輸出的精確計算?!緦嶒瀮?nèi)容】輸出7路PWM信號,并用示波器測量輸出?!緦嶒炘怼?、時

關(guān)鍵字: pwm stm32f4 tim1 信號輸出

STM32F4的隨機數(shù)發(fā)生器RNG,以環(huán)境噪聲為種子,產(chǎn)生32位隨機數(shù)供主機使用?!局饕匦浴?、產(chǎn)生32位隨機數(shù) 2、兩次轉(zhuǎn)換時間間隔40PLL48CLK 3、隨機數(shù)熵檢測以發(fā)現(xiàn)不正常位,以產(chǎn)生穩(wěn)定序列 3、可被關(guān)閉以...

關(guān)鍵字: stm32f4 隨機數(shù)發(fā)生器

書接上文,開始折騰ADC的DMA傳輸。因為大家都在說DMA,就連ST的例子里邊也是使用DMA的。 ADC采集到的數(shù)據(jù)都存儲在一個固定的寄存器中。當(dāng)常規(guī)采樣方式采樣多個通道時候,使用DMA可以較好地避免將采集到的數(shù)據(jù)...

關(guān)鍵字: adc dma stm32f4 數(shù)據(jù)傳輸 采集數(shù)據(jù)

為了提搞系統(tǒng)的可靠性,STM32F4系列MCU有一個獨立看門狗(IWDG)和一個窗口看門狗(WWDG)。今天做的實驗是關(guān)于獨立看門狗的。獨立看門狗使用的時鐘源是內(nèi)部低速振蕩器LSI。因為LSE可能沒接,HSE可能壞點,H...

關(guān)鍵字: iwdg stm32f4 獨立看門狗
關(guān)閉