乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      STM32的功能引腳重映射和復(fù)用功能 -- STM32 Releasing Your Cr...

       czlyzhj 2011-04-21

      標(biāo)簽: STM32  USART  GPIO  重映射  

      STM32的功能引腳重映射和復(fù)用功能

      STM32中有很多內(nèi)置外設(shè)的輸入輸出引腳都具有重映射(remap)的功能,本文對(duì)一些在使用引腳重映射時(shí)所遇到的有關(guān)問(wèn)題加以說(shuō)明。

      我們知道每個(gè)內(nèi)置外設(shè)都有若干個(gè)輸入輸出引腳,一般這些引腳的輸出腳位都是固定不變的,為了讓設(shè)計(jì)工程師可以更好地安排引腳的走向和功能,在STM32中引入了外設(shè)引腳重映射的概念,即一個(gè)外設(shè)的引腳除了具有默認(rèn)的腳位外,還可以通過(guò)設(shè)置重映射寄存器的方式,把這個(gè)外設(shè)的引腳映射到其它的腳位。下面是STM32F103xC中有關(guān)USART3引腳的摘要片段;

      從這里可以看出,USART3_TX的默認(rèn)引出腳是PB10,USART3_RX的默認(rèn)引出腳是PB11;但經(jīng)過(guò)重映射后,可以變更USART3_TX的引出腳為PD8,變更USART3_RX的引出腳為PD9。


       

      STM32中的很多內(nèi)置外設(shè)都具有重映射的功能,比如USART、定時(shí)器、CAN、SPI、I2C等,詳細(xì)請(qǐng)看STM32參考手冊(cè)(RM0008)和STM32數(shù)據(jù)手冊(cè)。

      有些模塊(內(nèi)置外設(shè))的重映射功能還可以有多種選擇,下面是RM0008上有關(guān)USART3輸入輸出引腳的重映射功能表:

      從這個(gè)表中可以看出,USART3的TX和RX引腳默認(rèn)的引出腳位是PB10和PB11,根據(jù)配置位的設(shè)置,可以重映射到PC10和PC11,還可以重映射到PD8和PD9。


       

      一個(gè)模塊的功能引腳不管是從默認(rèn)的腳位引出還是從重映射的腳位引出,都要通過(guò)GPIO端口模塊實(shí)現(xiàn),相應(yīng)的GPIO端口必須配置為輸入(對(duì)應(yīng)模塊的輸入功能,如USART的RX)或復(fù)用輸出(對(duì)應(yīng)模塊的輸出功能,如USART的TX),對(duì)于輸出引腳,可以按照需要配置為推挽復(fù)用輸出或開(kāi)漏復(fù)用輸出。

      上圖是STM32的GPIO端口模塊,使用復(fù)用功能時(shí)的配置。從圖中可以看出,配置為復(fù)用輸出時(shí),該端口對(duì)應(yīng)的GPIO輸出功能將不起作用。例如當(dāng)配置PB10對(duì)應(yīng)的引腳為復(fù)用輸出功能時(shí),操作PB10對(duì)應(yīng)的輸出寄存器將不影響引腳上的信號(hào)。

      從圖中還可以看出,普通的GPIO端口輸入功能與復(fù)用的輸入功能的配置方式?jīng)]有分別,這意味著在使用引腳的復(fù)用輸入功能時(shí),可以在這個(gè)引腳的輸入寄存器上讀出引腳上的信號(hào)。例如在使能了USART3模塊時(shí),可以讀GPIOB_IDR寄存器,得到PB11信號(hào)線上的當(dāng)前狀態(tài)。


       

      有不少引腳上配備了來(lái)自多個(gè)模塊的復(fù)用功能引出腳,例如本文第一張圖中顯示的PB10,默認(rèn)復(fù)用功能就有I2C2_SCL和USART3_TX兩個(gè)功能,TIM2重映射后,TIM2_CH3也使用PB10的復(fù)用功能。

      在使用引腳的復(fù)用功能時(shí),需要注意在軟件上只可以使能一個(gè)外設(shè)模塊,否則在引出腳上可能產(chǎn)生信號(hào)沖突。例如,如果使能了USART3模塊,同時(shí)沒(méi)有對(duì)USART3進(jìn)行重映射配置,則不可以使能I2C2模塊;同理如果需要使用I2C2模塊,則不能使能USART3模塊。但是如果配置了USART3的引腳重映射,USART3的TX和RX信號(hào)將從PC10和PC11,或PD8和PD9引出,避開(kāi)了I2C2使用的PB10和PB11,這時(shí)就可以同時(shí)使用I2C2模塊和USART3模塊了。


       

      USART3模塊共有5個(gè)信號(hào),分別為T(mén)X、RX、CK、CTS和RTS,從上面給出的第二張圖中可以看出,重映射是對(duì)所有信號(hào)同時(shí)有效。

      這5個(gè)信號(hào)中,在使能了USART3模塊后,只有TX和RX是始終與對(duì)應(yīng)的引出腳相連,而其它3個(gè)信號(hào)分別有獨(dú)立的控制位,控制它們是否與外部引腳相連,如果程序中不使用某個(gè)信號(hào)的功能,則可以關(guān)閉這個(gè)信號(hào)的功能,對(duì)應(yīng)的引腳可以做為其它功能的引出腳。例如,當(dāng)關(guān)閉了USART3的CK、CTS和RTS功能并且沒(méi)有重映射USART3時(shí),PB12、PB13和PB14可以作為通用輸入輸出端口使用,也可以作為其它模塊的復(fù)用功能引出腳。

      下面這張圖是一個(gè)內(nèi)部控制連接的等效示意圖,它并不表示真正的內(nèi)部連接,但可以有效地幫助理解重映射和復(fù)用引腳的概念。圖中右邊引出的信號(hào),分別連接到了本文第三張圖的輸入輸出模塊。

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多