chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

關(guān)于 STM32 時(shí)鐘配置的那些坑

黃工的嵌入式技術(shù)圈 ? 來(lái)源:黃工的嵌入式技術(shù)圈 ? 2020-03-08 12:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

今天分享以下兩點(diǎn)內(nèi)容:

1.為什么我們要先開(kāi)啟STM32外設(shè)模塊時(shí)鐘

2.關(guān)于STM32的 I/O 復(fù)用功能及什么時(shí)候開(kāi)啟AFIO時(shí)鐘;

1為什么我們要先開(kāi)啟STM32外設(shè)時(shí)鐘

講述本節(jié)內(nèi)容之前先說(shuō)一個(gè)案例:

前段時(shí)間,有一個(gè)朋友為配置EXTI的代碼折騰了一天,最終沒(méi)有結(jié)果。于是問(wèn)了我這樣一個(gè)問(wèn)題:“你用過(guò)STM32F051C8T6的外部中斷嗎,就是GPIO管腳做中斷,我這邊就是進(jìn)不了中斷”。

然后他把基于標(biāo)準(zhǔn)外設(shè)庫(kù)、寄存器寫的代碼都給我發(fā)過(guò)來(lái)了。我仔細(xì)看了又看,沒(méi)發(fā)現(xiàn)有什么毛病啊。(但是,代碼是截圖分來(lái)給我發(fā)過(guò)來(lái)的)。

于是,我將之前配置IO外部中斷的代碼,按照他(PB2)的要求,寫成一個(gè)“EXTI配置”函數(shù)發(fā)給他,他直接拷貝過(guò)去,成功了。

于是,他仔細(xì)對(duì)比了代碼,終于發(fā)現(xiàn)了問(wèn)題的原因,配置的順序不對(duì),使能時(shí)鐘不是在最開(kāi)始。

我想許多朋友都曾遇到過(guò)這種坑,我最初學(xué)習(xí)STM32的時(shí)候同樣也遇到過(guò),下面我就來(lái)說(shuō)說(shuō)為什么我們要先開(kāi)啟STM32外設(shè)模塊時(shí)鐘,再對(duì)其外設(shè)模塊初始化配置?

1.系統(tǒng)架構(gòu)

不同類型的STM32,它的系統(tǒng)架構(gòu)各有不同,但原理都類似,由多條主控總線和多條被控總線組成(請(qǐng)參看【參考手冊(cè)】存儲(chǔ)器和總線架構(gòu)章節(jié))。

如STM32F4:

● 八條主控總線:

— Cortex-M4F 內(nèi)核 I 總線、 D 總線和 S 總線

DMA1 存儲(chǔ)器總線

— DMA2 存儲(chǔ)器總線

— DMA2 外設(shè)總線

以太網(wǎng) DMA 總線

USB OTG HS DMA 總線

● 七條被控總線:

— 內(nèi)部 Flash ICode 總線

— 內(nèi)部 Flash DCode 總線

— 主要內(nèi)部 SRAM1 (112 KB)

— 輔助內(nèi)部 SRAM2 (16 KB)

— 輔助內(nèi)部 SRAM3 (64 KB)(僅適用于 STM32F42xxx 和 STM32F43xxx 器件)

— AHB1 外設(shè)(包括 AHB-APB 總線橋和 APB 外設(shè))

— AHB2 外設(shè)

— FSMC

借助總線矩陣,可以實(shí)現(xiàn)主控總線到被控總線的訪問(wèn),這樣即使在多個(gè)高速外設(shè)同時(shí)運(yùn)行期間,系統(tǒng)也可以實(shí)現(xiàn)并發(fā)訪問(wèn)和高效運(yùn)行。

2.關(guān)于AHB和APB總線

AHB:Advanced High-performance Bus,即先進(jìn)的高性能總線.

APB:Advanced Peripheral Bus,即先進(jìn)的外圍(外設(shè))總線.

上面說(shuō)了系統(tǒng)總線的架構(gòu)引伸出來(lái)的就是AHB和APB總線,那為什么要講述AHB和APB總線呢?

我們操作的外圍設(shè)備一般都是位于AHB和APB總線上,而AHB可以引伸出AHB1、AHB2,甚至AHB3。同樣APB也存在APB1、APB2等。

如:USART1外設(shè)位于APB1總線上,GPIOA位于AHB1高速總線上。

請(qǐng)注意參考手冊(cè)中“AHB/APB 總線橋”這一小節(jié),有一條重要的內(nèi)容:每次芯片復(fù)位后,所有外設(shè)時(shí)鐘都被關(guān)閉( SRAM 和 Flash 接口除外)。使用外設(shè)前,必須在 RCC_AHBxENR 或 RCC_APBxENR 寄存器中使能其時(shí)鐘。

3.STM32時(shí)鐘控制

請(qǐng)參看STM32參考手冊(cè)關(guān)于【復(fù)位與時(shí)鐘控制RCC】章節(jié)。

STM32的時(shí)鐘控制模塊因MCU芯片不同,各有差異,但原理都類似,功能也相當(dāng)豐富。主要的目的就是給相對(duì)獨(dú)立的外設(shè)模塊提供時(shí)鐘,也是為了降低整個(gè)芯片的功能。

降低功耗是主要原因,還有一個(gè)原因,就是為了兼容不同速度的設(shè)備,有些高速,有些低速,如果都用高速時(shí)鐘,勢(shì)必造成浪費(fèi)。

RCC給外設(shè)提供時(shí)鐘是一個(gè)主要目的,那么為什么要提供時(shí)鐘呢?原因在于外圍設(shè)備的寄存器需要時(shí)鐘才能工作。你可以把外設(shè)當(dāng)做一個(gè)設(shè)備,而這個(gè)設(shè)備需要給它提供電源(時(shí)鐘)才能工作。

你在STM32參考手冊(cè)的“RCC”章節(jié)可能會(huì)看到這么一句話:當(dāng)外設(shè)時(shí)鐘沒(méi)有啟用時(shí),軟件不能讀出外設(shè)寄存器的數(shù)值,返回的數(shù)值始終是0x0。

4.總結(jié)

看到這里相信聰明的你其中已經(jīng)明白為什么我們要先開(kāi)啟STM32外設(shè)模塊時(shí)鐘,再配置其外設(shè)模塊了。

簡(jiǎn)單來(lái)說(shuō):操作外設(shè)是通過(guò)外設(shè)總線來(lái)實(shí)現(xiàn),只有外設(shè)總線有時(shí)鐘了才能操作外設(shè)。

坑:

A.先使能外設(shè)時(shí)鐘,再對(duì)其進(jìn)行配置

B.時(shí)鐘配置需對(duì)應(yīng)總線

這種基于標(biāo)準(zhǔn)外設(shè)庫(kù)的低級(jí)錯(cuò)誤,相信肯定有不少人遇到過(guò),希望提高警惕。

2關(guān)于STM32的I/O復(fù)用功能及什么時(shí)候開(kāi)啟AFIO時(shí)鐘

前面有朋友問(wèn):“什么時(shí)候開(kāi)啟AFIO時(shí)鐘”。寫了上面章節(jié),就順便再講述一下關(guān)于STM32的I/O復(fù)用功能及什么時(shí)候開(kāi)啟AFIO時(shí)鐘。

1.什么是I/O 復(fù)用功能?

簡(jiǎn)單來(lái)說(shuō)就是把普通I/O用作其它的功能。如:將PA9引腳用作USART1的Tx引腳,那么我們就把這個(gè)Tx引腳稱為PA9的復(fù)用功能。

打開(kāi)數(shù)據(jù)手冊(cè),會(huì)發(fā)現(xiàn)類似如下的列表:

2.什么時(shí)候開(kāi)啟AFIO時(shí)鐘

為了優(yōu)化芯片引腳封裝的外設(shè)數(shù)目,可以把一些復(fù)用功能重新映射到其他引腳上。設(shè)置復(fù)用重映射和調(diào)試I/O配置寄存器實(shí)現(xiàn)引腳的重新映射。這時(shí),復(fù)用功能不再映射到它們的原始分配上,而是映射到“重定義功能”上(見(jiàn)上圖)。

這種將引腳重定義到其它引腳上的功能在幾乎所有STM32芯片中都有這個(gè)功能,但是實(shí)現(xiàn)的方法可能有所不同,其中STM32F1就是通過(guò)事件控制的方式將特定功能引腳連接到對(duì)應(yīng)PORT和PIN上。

簡(jiǎn)單來(lái)說(shuō),如果需要使用重定義功能,那么就需要開(kāi)啟AFIO時(shí)鐘。

最后,如果你覺(jué)得你的程序可能是因?yàn)闀r(shí)鐘配置的問(wèn)題,不妨上電第一步使能所有時(shí)鐘試試。

推薦閱讀:

1.STM32標(biāo)準(zhǔn)外設(shè)庫(kù)SPL轉(zhuǎn)換成Cube LL

2.利用STM32 ST-LINK Utility查看內(nèi)核運(yùn)行狀態(tài),助你判斷程序是否跑飛

5最后

若覺(jué)得文章好,記得點(diǎn)贊、分享。掃描下面二維碼、關(guān)注,在底部菜單中查看更多精彩內(nèi)容!

長(zhǎng)按識(shí)別圖中二維碼關(guān)注

贊賞是對(duì)作者的認(rèn)可與支持!

原文標(biāo)題:關(guān)于STM32時(shí)鐘配置的那些坑

文章出處:【微信公眾號(hào):strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    135

    文章

    9582

    瀏覽量

    393431
  • STM32
    +關(guān)注

    關(guān)注

    2312

    文章

    11189

    瀏覽量

    374478
  • Atmel
    +關(guān)注

    關(guān)注

    17

    文章

    314

    瀏覽量

    110469
  • AMBA
    +關(guān)注

    關(guān)注

    0

    文章

    70

    瀏覽量

    16109
  • AFIO
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    3285
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    BSP調(diào)試#05:MIPI DSI(RK3588)

    ?? 本合集的是我當(dāng)初調(diào)試 RK3588 平臺(tái)時(shí)的 原始筆記 ——只保留了那些踩過(guò)的問(wèn)題接口,沒(méi)出過(guò)問(wèn)題的內(nèi)容全刪掉了。文章框架如下: 其中, “調(diào)試過(guò)程” 章節(jié)可能有點(diǎn)意思(記錄了我踩過(guò)的
    的頭像 發(fā)表于 04-17 11:54 ?1818次閱讀
    BSP調(diào)試#05:MIPI DSI(RK3588)

    基于STM32F103+ESP01S的復(fù)古桌面輝光管時(shí)鐘開(kāi)源項(xiàng)目介紹

    動(dòng)手,以 STM32F103+ESP01S 為核心架構(gòu),經(jīng)過(guò) 5 次打板和多輪代碼調(diào)試,完成了這款兼顧復(fù)古顏值與實(shí)用功能的輝光管時(shí)鐘。今天把完整制作過(guò)程、避要點(diǎn)和資料整理出來(lái),分享給同樣喜歡 DIY 的朋友。
    的頭像 發(fā)表于 04-14 15:15 ?245次閱讀
    基于<b class='flag-5'>STM32</b>F103+ESP01S的復(fù)古桌面輝光管<b class='flag-5'>時(shí)鐘</b>開(kāi)源項(xiàng)目介紹

    AT32F011時(shí)鐘配置說(shuō)明

    本帖最后由 jf_77210199 于 2026-4-1 09:12 編輯 本帖主要介紹兩部分內(nèi)容: 1、基于雅特力提供的 V2.x.x 的板級(jí)支持包來(lái)進(jìn)行時(shí)鐘源碼的配置及修改 2
    發(fā)表于 03-29 10:34

    采購(gòu)晶振怕被?這份避手冊(cè)請(qǐng)收好

    在電子元器件采購(gòu)清單里,晶振常被視為“小角色”,但它卻是決定設(shè)備時(shí)鐘精度、通信穩(wěn)定性的核心部件。不少采購(gòu)新手因?qū)д裾J(rèn)知不足,在選型、議價(jià)、交付等環(huán)節(jié)頻頻踩,輕則導(dǎo)致批量返工,重則影響項(xiàng)目進(jìn)度
    的頭像 發(fā)表于 03-24 14:22 ?1076次閱讀
    采購(gòu)晶振怕被<b class='flag-5'>坑</b>?這份避<b class='flag-5'>坑</b>手冊(cè)請(qǐng)收好

    RK平臺(tái)時(shí)鐘(CLK)開(kāi)發(fā):核心知識(shí)+調(diào)試步驟+問(wèn)題匯總

    在 RK(瑞芯微)平臺(tái)開(kāi)發(fā)中,時(shí)鐘(CLK)子系統(tǒng)是 SOC 的 “心臟”——CPU 變頻、DDR 數(shù)據(jù)傳輸、以太網(wǎng)通信、LCD 顯示等所有組件的穩(wěn)定運(yùn)行,都依賴精準(zhǔn)的時(shí)鐘信號(hào)。但時(shí)鐘樹(shù)復(fù)雜、
    的頭像 發(fā)表于 02-05 13:49 ?2768次閱讀
    RK平臺(tái)<b class='flag-5'>時(shí)鐘</b>(CLK)開(kāi)發(fā):核心知識(shí)+調(diào)試步驟+問(wèn)題匯總

    RK3326音頻調(diào)試避指南:從“錄不了”到“全功能跑通”的實(shí)戰(zhàn)歷程

    ,錄 WAV 就翻車,硬件飛線后還采不到回采數(shù)據(jù)。今天結(jié)合實(shí)際硬件圖紙、DTS 配置和調(diào)試日志,跟大家拆解 RK3326 上 PDM 麥克風(fēng) + 音頻回采的完整調(diào)試流程,幫你避開(kāi)那些 “一看就會(huì),一調(diào)就廢” 的。
    的頭像 發(fā)表于 02-03 16:06 ?3037次閱讀
    RK3326音頻調(diào)試避<b class='flag-5'>坑</b>指南:從“錄不了”到“全功能跑通”的實(shí)戰(zhàn)歷程

    求助STM32H563關(guān)于LWESP配置UART問(wèn)題

    求助STM32H563關(guān)于LWESP配置UART問(wèn)題,信息如下: Uart GPIO:PA9 USART1_TXPA10 USART1_RX 參考文章:https://blog.csdn.net
    發(fā)表于 01-27 14:02

    LAT1215+如何讓 STM32WB 在沒(méi)有 LSE 時(shí)運(yùn)行 BLE 應(yīng)用程序

    首先 LSE 可作為 STM32WB RF Wakeup 和 RTC 的時(shí)鐘源。STM32WB RF Wakeup 和 RTC 的時(shí)鐘源可配置
    發(fā)表于 01-09 10:55 ?0次下載

    STM32 5 個(gè)容易踩的外設(shè)使用技巧

    甚至有經(jīng)驗(yàn)的工程師,也常在外設(shè)配置上浪費(fèi)大量時(shí)間,調(diào)試半天仍然找不到問(wèn)題。本文總結(jié)了5個(gè)最容易踩STM32外設(shè)使用技巧,讓你少走彎路、提高開(kāi)發(fā)效率。1.GPIO
    的頭像 發(fā)表于 11-24 19:04 ?950次閱讀
    <b class='flag-5'>STM32</b> 5 個(gè)容易踩<b class='flag-5'>坑</b>的外設(shè)使用技巧

    晶振與STM32那些小關(guān)系

    STM32 適配晶振,以及晶振解剖圖
    的頭像 發(fā)表于 11-21 15:37 ?5372次閱讀
    晶振與<b class='flag-5'>STM32</b>的<b class='flag-5'>那些</b>小關(guān)系

    Proteus中配置STM32外部時(shí)鐘HSE如何配置

    有大佬會(huì)配置Proteus中的STM32F103C8的外部時(shí)鐘嗎 這個(gè)proteus中打印不出來(lái)數(shù)據(jù),但是在實(shí)物的連接中可以正常打印 代碼如下: 并且配置proteus中的虛擬串口
    發(fā)表于 11-02 13:54

    ?CDC1104 1至4可配置時(shí)鐘緩沖器技術(shù)文檔摘要

    CDC1104是一個(gè) 1 到 4 可配置時(shí)鐘緩沖器。該器件接受輸入?yún)⒖?b class='flag-5'>時(shí)鐘,并創(chuàng)建 4 個(gè)緩沖輸出時(shí)鐘,輸出頻率等于輸入時(shí)鐘的一半 頻率。
    的頭像 發(fā)表于 09-16 09:37 ?878次閱讀
    ?CDC1104 1至4可<b class='flag-5'>配置</b><b class='flag-5'>時(shí)鐘</b>緩沖器技術(shù)文檔摘要

    求助,關(guān)于cubemx + nano 4.1.1 + STM32F405時(shí)鐘的問(wèn)題求解

    有一個(gè)關(guān)于rtthread的問(wèn)題:有一個(gè)主控stm32F405VGxx的板子,使用rtthread studio創(chuàng)建一個(gè)標(biāo)準(zhǔn)版4.1.0的工程,運(yùn)行沒(méi)問(wèn)題;;用stm32cubemx 新建了一個(gè)
    發(fā)表于 09-16 06:05

    選擇身份核驗(yàn)終端硬件設(shè)備,你需要避開(kāi)那些?

    假如你是一個(gè)安防軟硬件方案集成商,需要采購(gòu)一批身份核驗(yàn)終端硬件設(shè)備進(jìn)行集成開(kāi)發(fā),功能包括人臉識(shí)別、掃碼識(shí)別和刷卡識(shí)別,最好能支持國(guó)產(chǎn)系統(tǒng),在選擇硬件合作商時(shí)需要注意什么,又需要避開(kāi)哪些呢?以下
    的頭像 發(fā)表于 09-02 10:23 ?824次閱讀
    選擇身份核驗(yàn)終端硬件設(shè)備,你需要避開(kāi)<b class='flag-5'>那些</b><b class='flag-5'>坑</b>?

    求助 有那些機(jī)構(gòu) 有關(guān)于 GB/T 4706.1 國(guó)標(biāo)的實(shí)操培訓(xùn)

    求助 有那些機(jī)構(gòu) 有關(guān)于 GB/T 4706.1 國(guó)標(biāo)的實(shí)操培訓(xùn)
    發(fā)表于 04-30 16:20