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

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

為什么需要BSRR寄存器

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

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

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

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

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

例如,如果要使引腳1變?yōu)楦唠娖?,那么我們可以給BSRR寄存器的第17位(低16位的1號(hào)位)寫(xiě)入1,這將會(huì)把引腳1設(shè)置為高電平。如果想要將引腳1的電平設(shè)置為低電平,我們只需要給BSRR寄存器的第33位(高16位的1號(hào)位)寫(xiě)入1,即可實(shí)現(xiàn)。

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

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

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

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

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

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

結(jié)語(yǔ)

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

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

聲明:本文內(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

    文章

    5434

    瀏覽量

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

    關(guān)注

    0

    文章

    5

    瀏覽量

    3689
  • bsrr
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

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

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

    請(qǐng)問(wèn)L9663 Transceiver使用Direct Interface(SYNCx&amp;DOUTx)模式時(shí)還需要通過(guò)SPI對(duì)其寄存器進(jìn)行配置嗎?

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

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

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

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

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

    想用一個(gè)控制器來(lái)直接對(duì)TSB81BA3E的寄存器進(jìn)行讀寫(xiě),怎么實(shí)現(xiàn)?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    寄存器的類型和作用

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

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

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