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

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

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

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

既然ODR能控制管腳高低電平,為什么還需要BSRR寄存器呢?

工程師鄧生 ? 來源:未知 ? 作者:劉芹 ? 2023-10-24 11:49 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

既然ODR能控制管腳高低電平,為什么還需要BSRR寄存器呢?

為什么需要BSRR寄存器

單片機中,為了控制端口的輸出狀態(tài),我們需要使用特定的寄存器。其中,ODR寄存器負責(zé)直接控制端口輸出電平,但是在某些情況下,我們需要更高效、更精準的控制電平狀態(tài),這時就需要使用BSRR寄存器了。

BSRR寄存器全稱Bit Set/Reset Register,中文名稱為位設(shè)置/重置寄存器,其作用是能夠快速切換輸入輸出引腳的電平狀態(tài)。通過BSRR寄存器的配置,我們可以簡單、高效地設(shè)置或者重置對應(yīng)的引腳電平,而無需進行其他操作。

BSRR寄存器的結(jié)構(gòu)

BSRR寄存器總共32位,其中前16位是用于設(shè)置對應(yīng)引腳的高電平,后16位是用于設(shè)置對應(yīng)引腳的低電平。

在BSRR寄存器的低16位中,每4位對應(yīng)一個引腳,以16進制的形式表示。例如:低16位的0號位(LSB)至3號位分別對應(yīng)的引腳號為0~3,以此類推。對于高16位,它們與低16位的區(qū)別在于,它們控制對應(yīng)引腳的低電平狀態(tài),即為清零操作。

例如,如果要使引腳1變?yōu)楦唠娖剑敲次覀兛梢越oBSRR寄存器的第17位(低16位的1號位)寫入1,這將會把引腳1設(shè)置為高電平。如果想要將引腳1的電平設(shè)置為低電平,我們只需要給BSRR寄存器的第33位(高16位的1號位)寫入1,即可實現(xiàn)。

BSRR寄存器與ODR寄存器的區(qū)別

雖然ODR和BSRR都可以控制引腳的電平狀態(tài),但是它們在實現(xiàn)上還是有一些區(qū)別的。

首先,ODR寄存器的寫入操作是瞬時的,即寫入后立即生效。而BSRR寄存器的寫入操作是有延遲的,需要在CPU時鐘上升沿時才能夠生效,因此,如果需要精準地控制電平狀態(tài),我們需要根據(jù)CPU主頻等因素,精確地計算出延遲時間。

其次,在使用BSRR寄存器時,我們可以直接通過對應(yīng)電平位的寫入操作,來實現(xiàn)針對某一位的設(shè)置或重置操作。這樣,在高頻率操作時,會比使用ODR寄存器更具有優(yōu)勢,不僅可以提高效率,還能保證電平狀態(tài)的準確性。

還有一個重要區(qū)別是,在使用BSRR寄存器時,如果想要對某個引腳進行設(shè)置或重置,我們只需要對對應(yīng)的位進行操作即可,而使用ODR寄存器時,我們需要同時對所有引腳進行設(shè)置或重置,這樣會導(dǎo)致效率降低。

綜上所述,BSRR寄存器與ODR寄存器相比,更加靈活高效,能夠更好地滿足實際需求,特別是在高頻率控制電平情況下更為顯著。

結(jié)語

在單片機的開發(fā)中,對端口的輸入輸出狀態(tài)控制是一項非常基礎(chǔ)的操作,因此理解和掌握相關(guān)的寄存器是非常重要的。在實際應(yīng)用中,根據(jù)不同的場景需求,選擇合適的寄存器會使我們的開發(fā)更加方便、高效。

BSRR寄存器雖然只是一個小小的寄存器,但是在高頻率作業(yè)中,能夠發(fā)揮出強大的功能和優(yōu)勢。因此,對于端口輸出狀態(tài)的控制需求得到了更好的滿足。

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

    關(guān)注

    31

    文章

    5434

    瀏覽量

    124533
  • odr
    odr
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    3689
  • bsrr
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    Texas Instruments SN74AC164-Q1 8位SIPO移位寄存器數(shù)據(jù)手冊

    )輸入允許完全控制輸入數(shù)據(jù);任一輸入端的低電平可抑制新數(shù)據(jù)的輸入,并在下一個時鐘(CLK)脈沖將第一個觸發(fā)復(fù)位為低電平。一個高電平輸入啟用
    的頭像 發(fā)表于 07-16 15:28 ?80次閱讀
    Texas Instruments SN74AC164-Q1 8位SIPO移位<b class='flag-5'>寄存器</b>數(shù)據(jù)手冊

    Texas Instruments SN74ACT164-Q1 8位SIPO移位寄存器數(shù)據(jù)手冊

    輸入(A與B)允許對輸入數(shù)據(jù)進行完全控制。任一輸入為低電平都會抑制新數(shù)據(jù)的輸入,并在下一個時鐘 (CLK) 脈沖時將第一個觸發(fā)器重置為低電平。高電平輸入使
    的頭像 發(fā)表于 07-16 10:06 ?100次閱讀
    Texas Instruments SN74ACT164-Q1 8位SIPO移位<b class='flag-5'>寄存器</b>數(shù)據(jù)手冊

    請問L9663 Transceiver使用Direct Interface(SYNCx&amp;DOUTx)模式時還需要通過SPI對其寄存器進行配置嗎?

    L9663 Transceiver使用Direct Interface(SYNCx&DOUTx)模式時還需要通過SPI對其寄存器進行配置嗎?
    發(fā)表于 03-13 07:38

    ADS1298如果使用寄存器命令RESET去復(fù)位,那么其RESET管腳是接高電平還是低電平,還是懸空?

    我想問一下ADS1298如果使用寄存器命令RESET去復(fù)位,那么其RESET管腳是接高電平還是低電平,還是懸空
    發(fā)表于 02-10 06:00

    DAC7565 SYNC這個IO腳在常態(tài)應(yīng)該置為低電平還是高電平?

    手冊中關(guān)于SYNC的描述是:SYNC低電平時使輸入移位寄存器,SYNC需要保持低電平到接收玩24個SCLK周期才能更新DA輸出,如果沒到
    發(fā)表于 02-05 09:31

    想用一個控制器來直接對TSB81BA3E的寄存器進行讀寫,怎么實現(xiàn)?

    大家好!我現(xiàn)在在使用TSB81BA3E 這個1394物理層芯片,我現(xiàn)在想用一個控制器來直接對這個芯片的寄存器進行讀寫(不通過鏈路層)!請問我應(yīng)該使用芯片的哪些引腳?控制器選FPGA可以嘛?
    發(fā)表于 12-17 07:08

    DAC5681z從FPGA讀數(shù)據(jù),為什么還需要一個DCLKP/N?

    以DAC5681z為例,DAC芯片從FPGA讀數(shù)據(jù),然后按照自己的采樣速率CLKIN/CLKINC 每隔16bit轉(zhuǎn)換成1個電平值,為什么還需要一個DCLKP/N?
    發(fā)表于 12-11 07:52

    ADS8678是否可以把CS直接拉低或者拉高,SDI保持低電平,使得ADC一直保持在STDBY模式?

    請問在使用ADS8678這款A(yù)DC的時候,向寄存器中寫入8200h之后ADC進入STDBY模式,后續(xù)情況下SDI保持低電平就可以保持在STDBY模式,在保持低電平的時候,CS信號是否還需要
    發(fā)表于 11-29 08:30

    ADS62P49降低采樣率,使用50M采樣,除了“enable low speed mode”的寄存器,還需要更改其他的設(shè)置嗎?

    配置,輸出時鐘的頻率是50MHz。 也改了ads62p49的“enable low speed mode”的寄存器,但是各種測試模式、正弦波出現(xiàn)的波形一直不對。 想問下還需更改哪些ads62p49的配置。除了“enable low speed mode”的
    發(fā)表于 11-18 07:04

    ADS9234R復(fù)位、寄存器如何配置?

    請問一下,我用MCU正常配置這款芯片,我是先用復(fù)位引腳通過MCU輸出低電平拉低進行復(fù)位,還是先掉電后上電,再配置寄存器?還有一個問題就是,我寫入寄存器,每寫入一個命令是否會有什么數(shù)
    發(fā)表于 11-14 06:59

    當(dāng)LMK00725的輸入為LVPECL電平時,由于芯片輸入管腳內(nèi)部存在51KOhm上下拉,在芯片外部是否還需要增加上下拉偏置電阻?

    請教一個問題,當(dāng)LMK00725的輸入為LVPECL電平時,由于芯片輸入管腳內(nèi)部存在51KOhm上下拉,那在芯片外部是否還需要增加上下拉偏置電阻? 我目前參考的是手冊中的典型應(yīng)用
    發(fā)表于 11-11 07:07

    接口的控制與狀態(tài)寄存器什么作用

    的行為并獲取硬件的狀態(tài)信息。 接口的控制與狀態(tài)寄存器的作用 在現(xiàn)代計算機系統(tǒng)中,硬件設(shè)備與軟件之間的交互是通過一系列的接口來實現(xiàn)的。這些接口不僅需要能夠傳輸數(shù)據(jù),還需要能夠
    的頭像 發(fā)表于 10-17 10:42 ?1531次閱讀

    請問tlv320dac3100設(shè)成喇叭輸出時,應(yīng)該怎樣配置寄存器?

    請問tlv320dac3100設(shè)成喇叭輸出時,應(yīng)該怎樣配置寄存器? 我們按照datasheet中的example配置,spk有方波輸出,但是沒有音頻數(shù)據(jù),只有pop聲。請問還需要修改哪些參數(shù)
    發(fā)表于 10-15 08:04

    寄存器的類型和作用

    在計算機科學(xué)中,寄存器(Register)是一種高速存儲單元,它位于CPU內(nèi)部,與CPU的運算單元和邏輯控制單元緊密相連。寄存器的主要作用是暫時存儲指令、操作數(shù)和地址等臨時數(shù)據(jù),以便CPU快速訪問和處理。由于
    的頭像 發(fā)表于 09-05 14:11 ?4780次閱讀

    寄存器是什么意思?寄存器是如何構(gòu)成的?

    在計算機科學(xué)中,寄存器(Register)是一個高速存儲單元,它位于中央處理(CPU)內(nèi)部,用于存儲計算機程序執(zhí)行過程中所需要的數(shù)據(jù)、指令地址或狀態(tài)信息。寄存器是計算機體系結(jié)構(gòu)中至關(guān)
    的頭像 發(fā)表于 08-02 18:23 ?7576次閱讀
    <b class='flag-5'>寄存器</b>是什么意思?<b class='flag-5'>寄存器</b>是如何構(gòu)成的?