找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

STM32端口復(fù)用和重映射的區(qū)別?

[復(fù)制鏈接]
ID:584967 發(fā)表于 2019-7-23 20:38 | 顯示全部樓層 |閱讀模式
該怎樣理解STM3端口復(fù)用和重映射,使用的時(shí)候都有哪些配置步驟?
沒有重映像,部分重映像,完全重映像都有什么區(qū)別呀?有點(diǎn)小迷糊。。!
回復(fù)

使用道具 舉報(bào)

ID:584967 發(fā)表于 2019-7-23 22:48 | 顯示全部樓層
什么是復(fù)用?
在TSM32里面,大部分的引腳都是有GPIO復(fù)用功能,也就是說,一個(gè) GPIO如果可以復(fù)用為內(nèi)置外設(shè)的功能引腳,那么當(dāng)這個(gè) GPIO 作為內(nèi)置外設(shè)使用的時(shí)候,就叫做復(fù)用。
配置步驟
詳細(xì)步驟為:

1)首先 GPIO 端口時(shí)鐘使能。因?yàn)橐褂玫蕉丝趶?fù)用,當(dāng)然要使能該端口的時(shí)鐘了。
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
2)復(fù)用的外設(shè)時(shí)鐘使能。比如你要將端口 PA9,PA10 復(fù)用為串口,所以要使能串口時(shí)鐘。
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
3)端口模式配置。 
在 IO 復(fù)用位內(nèi)置外設(shè)功能引腳的時(shí)候,必須設(shè)置 GPIO 端口的模式,至于在復(fù)用功能下 GPIO 的模式是怎么對(duì)應(yīng)的,這個(gè)可以查看手冊(cè)《STM32 中文參考手冊(cè) V10》(根據(jù)引腳配置不同的)
總結(jié):我們?cè)谑褂脧?fù)用功能的是時(shí)候,最少要使能 2 個(gè)時(shí)鐘。。!

什么是重映射?
為了使不同器件封裝的外設(shè) IO 功能數(shù)量達(dá)到最優(yōu),可以把一些復(fù)用功能重新映射到其他一些引腳上,目的為了讓設(shè)計(jì)工程師可以更好地安排引腳的走向和功能,在 STM32 中引入了外設(shè)引腳重映射的概念,即一個(gè)外設(shè)的引腳除了具有默認(rèn)的端口外,還可以通過設(shè)置重映射寄存器的方式,把這個(gè)外設(shè)的引腳映射到其它的端口。簡(jiǎn)單的講就是把管腳的外設(shè)功能映射到另一個(gè)管腳去使用,但是不是可以隨便映射的,根據(jù)手冊(cè)是否可以映射。
配置步驟
1)使能 GPIOB 時(shí)鐘:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
2)使能串口 1 時(shí)鐘:

RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);//因?yàn)橛玫搅藦?fù)用功能,則要使能時(shí)鐘
3)使能 AFIO 時(shí)鐘:

RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
4)開啟重映射:

GPIO_PinRemapConfig(GPIO_Remap_USART1, ENABLE);
5)端口模式配置:

詳細(xì)請(qǐng)見以下鏈接
https://blog.csdn.net/qq_34692743/article/details/80495858

回復(fù)

使用道具 舉報(bào)

ID:588726 發(fā)表于 2019-7-24 11:11 | 顯示全部樓層
這個(gè)配置還與芯片型號(hào)有關(guān)系,STM32F0x和STM32F3x 的GPIO的配置庫函數(shù)和方法就不一樣,新手需要注意。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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