新聞中心

STM32的Remap

作者: 時間:2016-11-20 來源:網(wǎng)絡 收藏
STM32中有很多內(nèi)置外設的輸入輸出引腳都具有重映射(remap)的功能,本文對一些在使用引腳重映射時所遇到的有關問題加以說明。我們知道每個內(nèi)置外設都有若干個輸入輸出引腳,一般這些引腳的輸出腳位都是固定不變的,為了讓設計工程師可以更好地安排引腳的走向和功能,在STM32中引入了外設引腳重映射的概念,即一個外設的引腳除了具有默認的腳位外,還可以通過設置重映射寄存器的方式,把這個外設的引腳映射到其它的腳位。

本文引用地址:http://butianyuan.cn/article/201611/318938.htm

例如,USART3_TX的默認引出腳是PB10,USART3_RX的默認引出腳是PB11;但經(jīng)過重映射后,可以變更USART3_TX的引出腳為PD8,變更USART3_RX的引出腳為PD9。

同時,STM32還只可以將一個功能映射到多個引腳,例如:USART3的TX和RX引腳默認的引出腳位是PB10和PB11,根據(jù)配置位的設置,可以重映射到PC10和PC11,還可以重映射到PD8和PD9。

一個模塊的功能引腳不管是從默認的腳位引出還是從重映射的腳位引出,都要通過GPIO端口模塊實現(xiàn),相應的GPIO端口必須配置為輸入(對應模塊的輸入功能,如USART的RX)或復用輸出(對應模塊的輸出功能,如USART的TX),對于輸出引腳,可以按照需要配置為推挽復用輸出或開漏復用輸出。

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

USART3模塊共有5個信號,分別為TX、RX、CK、CTS和RTS,從上面給出的第二張圖中可以看出,重映射是對所有信號同時有效。

這 5個信號中,在使能了USART3模塊后,只有TX和RX是始終與對應的引出腳相連,而其它3個信號分別有獨立的控制位,控制它們是否與外部引腳相連,如果程序中不使用某個信號的功能,則可以關閉這個信號的功能,對應的引腳可以做為其它功能的引出腳。例如,當關閉了USART3的CK、CTS和RTS功能并且沒有重映射USART3時,PB12、PB13和PB14可以作為通用輸入輸出端口使用,也可以作為其它模塊的復用功能引出腳。



關鍵詞: STM32Rema

評論


技術專區(qū)

關閉