一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

STM32片上外設(shè)時(shí)鐘使能 失能和復(fù)位的區(qū)別

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

掃碼添加小助手

加入工程師交流群

今天分享的關(guān)于時(shí)鐘知識,可能很多人沒有在意過。這也是之前有朋友問過的問題,這里就簡單給大家普及一下吧。

1

RCC時(shí)鐘說明

STM32參考手冊中,都有Reset and Clock Control(RCC)復(fù)位和時(shí)鐘控制的章節(jié)。

在這一章節(jié)就可以看到有兩類寄存器:peripheral reset register(RSTR)外設(shè)復(fù)位寄存器和peripheral clock enable register(ENR)外設(shè)時(shí)鐘使能寄存器。

我們拿STM32F1參考手冊為例,可以看到如下圖寄存器:

一種是控制外設(shè)時(shí)鐘的寄存器,一種是復(fù)位外設(shè)的寄存器。

2

外設(shè)時(shí)鐘使能和失能

我們都知道,配置STM32外設(shè),會先開啟對應(yīng)的時(shí)鐘(也就是使能外設(shè)時(shí)鐘)。

比如使能USART1時(shí)鐘:

RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);

失能USART1時(shí)鐘:

RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,DISABLE);

我之前分享過一篇文章《關(guān)于STM32時(shí)鐘配置的那些坑》,里面有說:為什么我們要先開啟STM32外設(shè)時(shí)鐘。

從時(shí)鐘使能和失能來說,這里再簡單總結(jié)一下:使能外設(shè)時(shí)鐘,我們就可以操作(讀寫)對應(yīng)的外設(shè);失能外設(shè)時(shí)鐘,則我們無法操作對應(yīng)的外設(shè)。

所以說,我們要操作外設(shè),就必須要先開啟(使能)其外設(shè)時(shí)鐘。

3

復(fù)位外設(shè)

復(fù)位外設(shè)相信大部分朋友都能理解,如果使用寄存器開發(fā)過的朋友,更應(yīng)該明白。

簡單來說,復(fù)位外設(shè)就是恢復(fù)外設(shè)所有寄存器為上電默認(rèn)值,也可以說復(fù)位了我們的配置。

可能有些地方你會也會發(fā)現(xiàn)xx外設(shè)配置之前有“重新初始化”外設(shè)的操作,如:

USART_DeInit(USART1);

DMA_DeInit(DMA1_Channel1);

這重新初始化代碼里面,其實(shí)就是調(diào)用了復(fù)位外設(shè)代碼。

4

失能外設(shè)時(shí)鐘和復(fù)位外設(shè)會對外設(shè)有何影響

上面說了失能外設(shè)時(shí)鐘,我們就不能操作外設(shè)了。那么復(fù)位外設(shè),我們還能操作外設(shè)嗎?外設(shè)的時(shí)鐘也會被復(fù)位嗎?

可能許多人沒有深入分析過,我這里簡單總結(jié)一下:

1.外設(shè)時(shí)鐘未使能(失能狀態(tài)),不能配置(讀寫)外設(shè);

2.復(fù)位外設(shè),會復(fù)位外設(shè)的所有寄存器,但外設(shè)時(shí)鐘不會被復(fù)位;

3.外設(shè)時(shí)鐘使能,復(fù)位外設(shè),再清除復(fù)位外設(shè),可以繼續(xù)配置(讀寫)外設(shè)。如USART1重新初始化:

RCC_APB2PeriphResetCmd(RCC_APB2Periph_USART1, ENABLE);

RCC_APB2PeriphResetCmd(RCC_APB2Periph_USART1, DISABLE);

USART_Init(USART1, &USART_InitStructure);


4.復(fù)位外設(shè),但不清除復(fù)位外設(shè),則不能繼續(xù)配置(讀寫)外設(shè)。

RCC_APB2PeriphResetCmd(RCC_APB2Periph_USART1, ENABLE);

USART_Init(USART1, &USART_InitStructure);

在STM32的庫函數(shù)中,外設(shè)復(fù)位和清除都是成對的,所以,我們用庫開發(fā)的好處,就是相對不容易犯一些錯(cuò)誤。

因?yàn)楹芏嗯笥咽褂眉拇嫫鏖_發(fā),有很多細(xì)節(jié)問題沒有深入研究過,就不知道問題到底處在哪里。

所以,建議用寄存器開發(fā)的朋友轉(zhuǎn)向使用(SPL、HAL或CLL)庫開發(fā)。如果你非要一步一步理解底層,建議使用SPL標(biāo)準(zhǔn)外設(shè)庫。

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

    關(guān)注

    31

    文章

    5434

    瀏覽量

    124513
  • STM32
    +關(guān)注

    關(guān)注

    2293

    文章

    11032

    瀏覽量

    364996
  • 時(shí)鐘
    +關(guān)注

    關(guān)注

    11

    文章

    1901

    瀏覽量

    133236
  • 復(fù)位
    +關(guān)注

    關(guān)注

    0

    文章

    179

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    電氣與建國際達(dá)成戰(zhàn)略合作

    近日,電氣股份有限公司與中建國際建設(shè)集團(tuán)有限公司(以下簡稱“建國際”)正式簽署戰(zhàn)略合作協(xié)議。中建國際集團(tuán)副總裁、新能源國際投資聯(lián)盟
    的頭像 發(fā)表于 06-19 15:44 ?393次閱讀

    STM32CubeMX配置STM32G070RBT6TR時(shí)為什么無法使PVD中斷?

    STM32CubeMX 配置STM32G070RBT6TR時(shí)無法使PVD中斷
    發(fā)表于 06-18 07:59

    STM32CubeMX配置STM32G070RBT6TR時(shí)無法使PVD中斷怎么辦?

    STM32CubeMX 配置STM32G070RBT6TR時(shí)無法使PVD中斷
    發(fā)表于 06-16 06:32

    AS32X601驅(qū)動系列教程 SMU_系統(tǒng)時(shí)鐘詳解

    時(shí)鐘復(fù)位的管理。在默認(rèn)狀態(tài)下SMU工作在IDLE狀態(tài)。只有接收到PMU的使信號后才開始工作。SMU模塊會根據(jù)PMU的指令自動配置COR、AXIBUS0/1/2等總線的
    的頭像 發(fā)表于 05-23 16:01 ?339次閱讀
    AS32X601驅(qū)動系列教程 SMU_系統(tǒng)<b class='flag-5'>時(shí)鐘</b>詳解

    電氣與Europower達(dá)成合作

    近日,在2025 Intersolar Europe展會現(xiàn)場,電氣股份有限公司(以下簡稱“電氣”)與土耳其知名新能源公司Europower Enerji(以下簡稱“Europo
    的頭像 發(fā)表于 05-14 18:00 ?547次閱讀

    stm32h7s78 rcc pll2時(shí)鐘使失敗的原因?

    使用的板卡是 stm32h7s78-dk,啟動流程是 boot + flash app 的方式,boot 參考的 xip 示例,xip 時(shí)鐘綁定在 hclk 。 問題 在 app 代碼中,初始化
    發(fā)表于 03-14 10:33

    STM32F103高級定時(shí)器中,開啟單脈沖模式是不是會立刻清除計(jì)數(shù)器使位?

    為256,通過debug查看,程序運(yùn)行后RCR計(jì)數(shù)器已被設(shè)置為4,單脈沖模式被置位,計(jì)數(shù)器。也就是說,最后4個(gè)脈沖還沒開始輸出計(jì)數(shù)器就已經(jīng)了。因此猜想是不是因?yàn)樵?的更新中斷中
    發(fā)表于 03-10 07:34

    使prj_on后,DLPA2005以4hz頻率一直復(fù)位,是什么原因?

    DLP2010LCDLPC3470+DLPA2005+DLP2010 chipset硬件組合,硬件組合是完整的,DMD是連接在DLPC3470的。使prj_on后,DLPA2005以4hz頻率一直
    發(fā)表于 02-19 07:32

    電氣埃及Abydos儲項(xiàng)目順利發(fā)貨

    近日,電氣為埃及Abydos儲項(xiàng)目提供的5MW集中式變流升壓一體機(jī)順利發(fā)貨,是電氣攜手天合光能,助力埃及推進(jìn)綠色能源轉(zhuǎn)型,實(shí)現(xiàn)國際
    的頭像 發(fā)表于 01-22 09:53 ?441次閱讀

    TPA3255在復(fù)位引腳禁用和使的時(shí)候會出現(xiàn)啪嗒聲,怎么解決?

    TPA3255芯片我參考官方的EVM電路做了2款PCB,購買了2TPA3255芯片,現(xiàn)在無法解決復(fù)位引腳在使和禁用時(shí)的啪嗒聲。 電路前級是PCM5242,TPA3255處于BTL
    發(fā)表于 09-29 06:25

    具有精密閾值使引腳特性的精密延遲啟動

    電子發(fā)燒友網(wǎng)站提供《具有精密閾值使引腳特性的精密延遲啟動.pdf》資料免費(fèi)下載
    發(fā)表于 09-23 12:26 ?0次下載
    具有精密閾值<b class='flag-5'>使</b><b class='flag-5'>能</b>引腳特性的精密延遲啟動

    使用精度閾值使引腳防止電池過度放電

    電子發(fā)燒友網(wǎng)站提供《使用精度閾值使引腳防止電池過度放電.pdf》資料免費(fèi)下載
    發(fā)表于 09-04 10:12 ?0次下載
    使用精度閾值<b class='flag-5'>使</b><b class='flag-5'>能</b>引腳防止電池過度放電

    STM32復(fù)位電路用復(fù)位芯片和阻容復(fù)位電路區(qū)別

    STM32是一款廣泛使用的微控制器,其復(fù)位電路設(shè)計(jì)對于系統(tǒng)的穩(wěn)定性和可靠性至關(guān)重要。本文將詳細(xì)介紹STM32復(fù)位電路中使用復(fù)位芯片和阻容
    的頭像 發(fā)表于 08-06 10:26 ?2942次閱讀

    OPA549 E/S使后輸出波形嚴(yán)重震蕩的原因?

    您好,我在用OPA549做擴(kuò)流應(yīng)用時(shí),在給E/S腳3.3V時(shí),他的輸出出現(xiàn)嚴(yán)重震蕩。給0V(GND)時(shí),有個(gè)巨大的回溝。 電路原理圖如下 在使(E/S給3.3V和0V(GN
    發(fā)表于 08-02 07:28

    斷路器跳閘后如何復(fù)位

    斷路器是一種廣泛應(yīng)用于電力系統(tǒng)中的保護(hù)裝置,其主要作用是在電路發(fā)生故障時(shí),能夠迅速切斷電路,以保護(hù)電氣設(shè)備和人身安全。然而,在實(shí)際使用過程中,萬斷路器可能會出現(xiàn)跳閘現(xiàn)象,這時(shí)候就需要進(jìn)行復(fù)位
    的頭像 發(fā)表于 07-31 15:24 ?4172次閱讀