找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4465|回復: 0
打印 上一主題 下一主題
收起左側

STM32 GPIO的端口重映射

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


總結:


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

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


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


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表