STM32的Remap
例如,USART3_TX的默認(rèn)引出腳是PB10,USART3_RX的默認(rèn)引出腳是PB11;但經(jīng)過重映射后,可以變更USART3_TX的引出腳為PD8,變更USART3_RX的引出腳為PD9。
同時,STM32還只可以將一個功能映射到多個引腳,例如:USART3的TX和RX引腳默認(rèn)的引出腳位是PB10和PB11,根據(jù)配置位的設(shè)置,可以重映射到PC10和PC11,還可以重映射到PD8和PD9。
一個模塊的功能引腳不管是從默認(rèn)的腳位引出還是從重映射的腳位引出,都要通過GPIO端口模塊實現(xiàn),相應(yīng)的GPIO端口必須配置為輸入(對應(yīng)模塊的輸入功能,如USART的RX)或復(fù)用輸出(對應(yīng)模塊的輸出功能,如USART的TX),對于輸出引腳,可以按照需要配置為推挽復(fù)用輸出或開漏復(fù)用輸出。
普通的GPIO端口輸入功能與復(fù)用的輸入功能的配置方式?jīng)]有分別,這意味著在使用引腳的復(fù)用輸入功能時,可以在這個引腳的輸入寄存器上讀出引腳上的信號。例如在使能了USART3模塊時,可以讀GPIOB_IDR寄存器,得到PB11信號線上的當(dāng)前狀態(tài)。
USART3模塊共有5個信號,分別為TX、RX、CK、CTS和RTS,從上面給出的第二張圖中可以看出,重映射是對所有信號同時有效。
這 5個信號中,在使能了USART3模塊后,只有TX和RX是始終與對應(yīng)的引出腳相連,而其它3個信號分別有獨立的控制位,控制它們是否與外部引腳相連,如果程序中不使用某個信號的功能,則可以關(guān)閉這個信號的功能,對應(yīng)的引腳可以做為其它功能的引出腳。例如,當(dāng)關(guān)閉了USART3的CK、CTS和RTS功能并且沒有重映射USART3時,PB12、PB13和PB14可以作為通用輸入輸出端口使用,也可以作為其它模塊的復(fù)用功能引出腳。
評論