欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

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

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

黃工的嵌入式技術(shù)圈 ? 來(lái)源:黃工的嵌入式技術(shù)圈 ? 2020-03-06 15:31 ? 次閱讀

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

1

RCC時(shí)鐘說(shuō)明

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

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

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

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

2

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

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

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

RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);

失能USART1時(shí)鐘:

RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,DISABLE);

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

從時(shí)鐘使能和失能來(lái)說(shuō),這里再簡(jiǎn)單總結(jié)一下:使能外設(shè)時(shí)鐘,我們就可以操作(讀寫(xiě))對(duì)應(yīng)的外設(shè);失能外設(shè)時(shí)鐘,則我們無(wú)法操作對(duì)應(yīng)的外設(shè)。

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

3

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

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

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

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

USART_DeInit(USART1);

DMA_DeInit(DMA1_Channel1);

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

4

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

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

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

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

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

3.外設(shè)時(shí)鐘使能,復(fù)位外設(shè),再清除復(fù)位外設(shè),可以繼續(xù)配置(讀寫(xiě))外設(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ù)配置(讀寫(xiě))外設(shè)。

RCC_APB2PeriphResetCmd(RCC_APB2Periph_USART1, ENABLE);

USART_Init(USART1, &USART_InitStructure);

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

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

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5372

    瀏覽量

    121293
  • STM32
    +關(guān)注

    關(guān)注

    2273

    文章

    10926

    瀏覽量

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

    關(guān)注

    11

    文章

    1747

    瀏覽量

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

    關(guān)注

    0

    文章

    174

    瀏覽量

    24279
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

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

    伺服電機(jī)的使信號(hào)及其相關(guān)問(wèn)題

    伺服電機(jī)是一種高精度、高響應(yīng)速度的電機(jī),廣泛應(yīng)用于工業(yè)自動(dòng)化、機(jī)器人、航空航天等領(lǐng)域。伺服電機(jī)的使信號(hào)是控制電機(jī)啟動(dòng)和停止的關(guān)鍵信號(hào),對(duì)于電機(jī)的正常運(yùn)行和安全性能具有重要意義。 伺服電機(jī)使
    的頭像 發(fā)表于 07-10 14:58 ?1934次閱讀

    伺服開(kāi)啟使ON接什么點(diǎn)

    伺服電機(jī)是一種高精度、高響應(yīng)速度的電機(jī),廣泛應(yīng)用于自動(dòng)化設(shè)備、機(jī)器人、數(shù)控機(jī)床等領(lǐng)域。在伺服電機(jī)的控制中,使信號(hào)(Enable Signal)是一個(gè)非常重要的信號(hào),它用于控制伺服電機(jī)的啟動(dòng)和停止
    的頭像 發(fā)表于 06-14 10:21 ?2481次閱讀

    STM32CubeMX中怎么使CRC時(shí)鐘?

    請(qǐng)教各位大俠,STM32CubeMX中,怎么使CRC時(shí)鐘,
    發(fā)表于 05-16 07:04

    時(shí)鐘使的八邊三格D型觸發(fā)器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《帶時(shí)鐘使的八邊三格D型觸發(fā)器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 05-15 10:42 ?0次下載
    帶<b class='flag-5'>時(shí)鐘</b><b class='flag-5'>使</b><b class='flag-5'>能</b>的八邊三格D型觸發(fā)器數(shù)據(jù)表

    stm32輔助時(shí)鐘AFIO,什么時(shí)候使時(shí)鐘?其作用是什么?

    一直不知道AFIO,請(qǐng)指點(diǎn)一下,什么時(shí)候使時(shí)鐘。其作用是什么?
    發(fā)表于 05-15 08:01

    儲(chǔ)電池和電芯的區(qū)別

    儲(chǔ)電池和電芯是儲(chǔ)系統(tǒng)中兩個(gè)經(jīng)常被提及的術(shù)語(yǔ),它們?cè)陔姵丶夹g(shù)、應(yīng)用、以及組成存在一些關(guān)鍵的區(qū)別
    的頭像 發(fā)表于 04-23 15:49 ?1891次閱讀

    STM32F070選擇內(nèi)部時(shí)鐘后外部復(fù)位有時(shí)點(diǎn)亮不了燈怎么解決?

    STM32F070F6P6選擇內(nèi)部時(shí)鐘后,外部復(fù)位,有時(shí)點(diǎn)亮不了燈(外部晶振拆了);(20次有1到2次會(huì)出現(xiàn))使用外部晶振是沒(méi)有問(wèn)題的。 配置信息如下: static void
    發(fā)表于 04-18 06:05

    stm32F429串口采用DMA方式發(fā)送,數(shù)據(jù)流使失敗的原因?

    最近項(xiàng)目要使用F429的DMA進(jìn)行串口發(fā)送數(shù)據(jù),燒錄之后程序無(wú)法正常運(yùn)行,仿真發(fā)現(xiàn)在執(zhí)行完DMA_Cmd(DMA2_Stream7, ENABLE)之后并沒(méi)有被使,反而多了兩個(gè)錯(cuò)誤中斷標(biāo)志,一個(gè)是
    發(fā)表于 04-17 07:05

    和儲(chǔ)區(qū)別?為什么要儲(chǔ)?

    儲(chǔ)和蓄是能源領(lǐng)域中兩個(gè)密切相關(guān)但又有所區(qū)別的概念。它們?cè)谀茉崔D(zhuǎn)換、存儲(chǔ)和利用過(guò)程中扮演著重要的角色。
    的頭像 發(fā)表于 04-11 10:45 ?4636次閱讀

    STM32H7想把PA5作為SP1的時(shí)鐘輸出,結(jié)果只要使DAC2就不能用PA5,為什么?

    問(wèn)題描述:我把DAC連接到運(yùn)放,從PE7輸出。想把PA5作為SP1的時(shí)鐘輸出,結(jié)果只要使DAC2就不能用PA5。 手冊(cè)上有一句話:如果 DAC 輸出與輸出焊盤(pán)斷開(kāi)連接并連接到
    發(fā)表于 04-03 06:00

    系統(tǒng)與單片機(jī)的區(qū)別

    系統(tǒng)(SoC)與單片機(jī)在多個(gè)方面存在明顯的區(qū)別。
    的頭像 發(fā)表于 03-28 14:39 ?1761次閱讀

    STM32G070 SPI主機(jī)只接收模式關(guān)閉SPI使后為什么還有時(shí)鐘輸出?

    使用STM32G070,一個(gè)板子實(shí)現(xiàn)主機(jī)只接收,另一個(gè)板子實(shí)現(xiàn)從機(jī)只發(fā)送,通信波形發(fā)現(xiàn)主機(jī)SPI關(guān)閉使后,選信號(hào)已經(jīng)置高,仍然有8個(gè)
    發(fā)表于 03-28 07:08

    使用STM32F303*8芯片時(shí)實(shí)現(xiàn)三個(gè)DAC同時(shí)輸出PA4/PA5/PA6嗎?DAC2使打不開(kāi)?。?/a>

    使用STM32F303*8芯片時(shí)實(shí)現(xiàn)三個(gè)DAC同時(shí)輸出PA4/PA5/PA6嗎?現(xiàn)在測(cè)試C8時(shí)DAC2使打不開(kāi)???DAC1正常
    發(fā)表于 03-08 08:15