找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4514|回復(fù): 0
收起左側(cè)

STM32 GPIO的端口重映射

[復(fù)制鏈接]
ID:75263 發(fā)表于 2015-6-9 02:36 | 顯示全部樓層 |閱讀模式
STM32上有很多I/O口,也有很多的內(nèi)置外設(shè),為了節(jié)省引出管腳,這些內(nèi)置外設(shè)都是與I/O口共用引出管腳,ST稱其為I/O管腳的復(fù)用功能,相信這點大家都很清楚,因為基本上所有單片機都是這么做的。但不知有多少人知道,很多復(fù)用功能的引出腳可以通過重映射,從不同的I/O管腳引出,即復(fù)用功能的引出腳位是可通過程序改變的。這一功能的直接好處是,PCB電路板的設(shè)計人員可以在需要的情況下,不必把某些信號在板上繞一大圈完成聯(lián)接,方便了PCB的設(shè)計同時潛在地減少了信號的交叉干擾。復(fù)用功能引出腳的重映射功能所帶來的潛在好處是,在你不需要同時使用多個復(fù)用功能時,虛擬地增加復(fù)用功能的數(shù)量。例如,STM32上最多有3個USART接口,當(dāng)你需要更多UART接口而又不需要同時使用它們時,可以通過這個重映射功能實現(xiàn)更多的UART接口。


總結(jié):


I/O端口的重映射
重映射技術(shù)的需求背景
I/O的復(fù)用:GPIO和內(nèi)置外設(shè)共用引出管腳
I/O的重映射:復(fù)用功能(AFIO)從不同的GPIO管腳引出
方便了PCB的設(shè)計,潛在地減少了信號的交叉干擾
分時復(fù)用某些外設(shè),虛擬地增加了端口數(shù)目
AFIO重映射的操作步驟
1. 使能被重新映射到的I/O端口時鐘
2. 使能被重新映射的外設(shè)時鐘
3. 使能AFIO功能的時鐘

================================================================================================================================


STM32上有很多I/O口,也有很多的內(nèi)置外設(shè)想I2C,ADC,ISP,USART等,為了節(jié)省引出管腳,這些內(nèi)置外設(shè)基本上是與I/O口共用管腳的,也就是I/O管腳的復(fù)用功能。但是STM32還有一特別之處就是:很多復(fù)用內(nèi)置的外設(shè)的I/O引腳可以通過重映射功能,從不同的I/O管腳引出,即復(fù)用功能的引腳是可通過程序改變的。知道了這些我們就不難理解上面代碼的意思了,程序中用到的USART2外設(shè)的TX,RX分別對應(yīng)PA2,PA3,但是我的學(xué)習(xí)板上的PA2,PA3引腳接了其他設(shè)備,但是為了還要用USART2,“RCC_APB2Periph_GPIOD|RCC_APB2Periph_AFIO”就打開了GPIOD重映射功能把USART2設(shè)備的TX,RX映射到PD5,PD6上,我們在這兩個引腳上接上MAX232串口芯片就可以使用USART2串口通信了。那為看官該問:“USART2是不是可以映射到任意管腳呢?”答案是否定的,它只能映射到固定的管腳,下圖是USART2重映射表


回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表