国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

STM32片上外設時鐘使能 失能和復位的區別

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

掃碼添加小助手

加入工程師交流群

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

1

RCC時鐘說明

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

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

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

一種是控制外設時鐘的寄存器,一種是復位外設的寄存器。

2

外設時鐘使能和失能

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

比如使能USART1時鐘:

RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);

失能USART1時鐘:

RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,DISABLE);

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

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

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

3

復位外設

復位外設相信大部分朋友都能理解,如果使用寄存器開發過的朋友,更應該明白。

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

可能有些地方你會也會發現xx外設配置之前有“重新初始化”外設的操作,如:

USART_DeInit(USART1);

DMA_DeInit(DMA1_Channel1);

這重新初始化代碼里面,其實就是調用了復位外設代碼。

4

失能外設時鐘和復位外設會對外設有何影響

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

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

1.外設時鐘未使能(失能狀態),不能配置(讀寫)外設;

2.復位外設,會復位外設的所有寄存器,但外設時鐘不會被復位;

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

RCC_APB2PeriphResetCmd(RCC_APB2Periph_USART1, ENABLE);

RCC_APB2PeriphResetCmd(RCC_APB2Periph_USART1, DISABLE);

USART_Init(USART1, &USART_InitStructure);


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

RCC_APB2PeriphResetCmd(RCC_APB2Periph_USART1, ENABLE);

USART_Init(USART1, &USART_InitStructure);

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

因為很多朋友使用寄存器開發,有很多細節問題沒有深入研究過,就不知道問題到底處在哪里。

所以,建議用寄存器開發的朋友轉向使用(SPL、HAL或CLL)庫開發。如果你非要一步一步理解底層,建議使用SPL標準外設庫。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 寄存器
    +關注

    關注

    31

    文章

    5608

    瀏覽量

    129968
  • STM32
    +關注

    關注

    2309

    文章

    11162

    瀏覽量

    373415
  • 時鐘
    +關注

    關注

    11

    文章

    1971

    瀏覽量

    134987
  • 復位
    +關注

    關注

    0

    文章

    179

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    如何使cw32f030看門狗復位

    = 0xFFF; IWDT_Init( IWDT_InitStruct); IWDT_Cmd(); while(!CW_IWDT->SR_f.RUN); IWDT_Refresh(); 還需要使時鐘信號 __RCC_IWDT_CLK_ENABLE();
    發表于 01-23 07:01

    什么是內核LOCKUP故障復位

    功能默認處于不使狀態,用戶需要手動使,通過設置系統控制寄存器 SYSCTRL_CR2的 LOCKUP 位域為 1,即可使 LOCKUP 復位
    發表于 12-15 08:33

    關閉休眠期間不使用的時鐘外設

    AHB 總線時鐘 HCLK 和 APB 總線時鐘 PCLK,可以根據需要關閉 關閉與喚醒無關的外設時鐘 - AHB 外設
    發表于 12-10 08:22

    NVIC中斷使能與禁止使

    ARM?Cortex-M0+ 處理器支持最多 32 個外部中斷源,分別對應中斷使設置寄存器 NIVC_ISER 的 32 個使位,和中斷使
    發表于 11-13 07:14

    e203添加中斷源,中斷源無法使怎么解決?

    接口連到了以太網外設(39號),發現這次就可以使中斷源了?真的好奇怪,現在在閱讀plic_man的源碼,希望發現原因吧。最后版本的C和verilog代碼
    發表于 11-10 07:45

    jf_58112309
    發布于 :2025年10月15日 10:36:52

    MCU外設初始化:為什么參數配置必須優先于使

    在微控制器領域,初始化參數配置階段至關重要。此時,雖無電源驅動,但微控制器在使信號到來前,借初始化參數配置這一精細步驟,開啟關鍵準備進程。初始化參數配置如同物理坐標錨定、邏輯指令部署、內在秩序預設
    的頭像 發表于 08-13 10:38 ?789次閱讀

    圣邦微電子SGM70411Q 車規級帶看門狗、喚醒、復位使功能的線性穩壓器

    圣邦微電子推出 SGM70411Q,一款帶看門狗、喚醒、復位使功能的車規級線性穩壓器。 該器件可應用于汽車通用電子控制單元、座艙、車身控制、輔助駕駛(ADAS)、移動車載信息系統等
    的頭像 發表于 08-13 10:04 ?2.1w次閱讀
    圣邦微電子SGM70411Q 車規級帶看門狗、喚醒、<b class='flag-5'>復位</b>和<b class='flag-5'>使</b><b class='flag-5'>能</b>功能的線性穩壓器

    電氣與建國際達成戰略合作

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

    STM32CubeMX配置STM32G070RBT6TR時為什么無法使PVD中斷?

    STM32CubeMX 配置STM32G070RBT6TR時無法使PVD中斷
    發表于 06-18 07:59

    STM32CubeMX配置STM32G070RBT6TR時無法使PVD中斷怎么辦?

    STM32CubeMX 配置STM32G070RBT6TR時無法使PVD中斷
    發表于 06-16 06:32

    AS32X601驅動系列教程 SMU_系統時鐘詳解

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

    電氣與Europower達成合作

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

    stm32h7s78 rcc pll2時鐘使失敗的原因?

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

    STM32F103高級定時器中,開啟單脈沖模式是不是會立刻清除計數器使位?

    為256,通過debug查看,程序運行后RCR計數器已被設置為4,單脈沖模式被置位,計數器。也就是說,最后4個脈沖還沒開始輸出計數器就已經了。因此猜想是不是因為在2的更新中斷中
    發表于 03-10 07:34