|
什么是復(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
|
|