新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STM32的GPIO口的8種配置模式

STM32的GPIO口的8種配置模式

作者: 時(shí)間:2016-11-25 來源:網(wǎng)絡(luò) 收藏

本文引用地址:http://butianyuan.cn/article/201611/321405.htm

四、 通用IO端口(GPIO)初始化

4.1 GPIO初始化

41.1 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | B | C, ENABLE):使能APB2總線外設(shè)時(shí)鐘;

41.2 RCC_ APB2PeriphResetCmd (RCC_APB2Periph_GPIOA | B | C, DISABLE):釋放GPIO復(fù)位。

4.2 置各個(gè)PIN端口(模擬輸入_AIN、輸入浮空_IN_FLOATING、輸入上拉_IPU、輸入下拉_IPD、開漏輸出_OUT_OD、推挽式輸出_OUT_PP、推挽式復(fù)用輸出_AF_PP、開漏復(fù)用輸出_AF_OD)。

4.3GPIO初始化完成。

五、 的GPIO操作函數(shù)

uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);//讀GPIO某一位的輸入

uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx);//讀GPIO的輸入

uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);//讀GPIO某一位的輸出

uint16_t GPIO_ReadOutputData(GPIO_TypeDef* GPIOx);//讀GPIO的輸出

void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);//將GPIO的某個(gè)位置位

void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);//將GPIO的某個(gè)位復(fù)位

void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal);//寫GPIO的某個(gè)位

void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal);//寫GPIO

六、管腳的復(fù)用功能重映射

1、復(fù)用功能:內(nèi)置外設(shè)是與I/O口共用引出管腳(不同的功能對(duì)應(yīng)同一管腳)

STM32 所有內(nèi)置外設(shè)的外部引腳都是與標(biāo)準(zhǔn)GPIO引腳復(fù)用的,如果有多個(gè)復(fù)用功能模塊對(duì)應(yīng)同一個(gè)引腳,只能使能其中之一,其它模塊保持非使能狀態(tài)。

2、重映射功能:復(fù)用功能的引出腳可以通過重映射,從不同的I/O管腳引出,即復(fù)用功 能的引出腳位是可通過程序改變到其他的引腳上!

直接好處:PCB電路板的設(shè)計(jì)人員可以在需要的情況下,不必把某些信號(hào)在板上繞一大圈完成聯(lián)接,方便了PCB的設(shè)計(jì)同時(shí)潛在地減少了信號(hào)的交叉干擾。

如:USART1: 0: 沒有重映像(TX/PA9,RX/PA10); 1: 重映像(TX/PB6,RX/PB7)。

(參考AFIO_MAPR寄存器介紹)[0,1為一寄存器的bit值]

【注】 下述復(fù)用功能的引出腳具有重映射功能:

- 晶體振蕩器的引腳在不接晶體時(shí),可以作為普通I/O口

- CAN模塊; - JTAG調(diào)試接口;- 大部分定時(shí)器的引出接口; - 大部分USART引出接口

- I2C1的引出接口; - SPI1的引出接口;

舉例:對(duì)于STM32F103VBT6,47引腳為PB10,它的復(fù)用功能是I2C2_SCL和 USART3_TX,表示在上電之后它的默認(rèn)功能為PB10,而I2C2的SCL和USART3的TX為它的復(fù)用功能;另外在TIM2的引腳重映射后,TIM2_CH3也成為這個(gè)引腳的復(fù)用功能。

(1)要使用STM32F103VBT6的47、48腳的USART3功能,則需要配置47腳為復(fù)用推挽輸出或復(fù)用開漏輸出,配置48腳為某種輸入模式,同時(shí)使能USART3并保持I2C2的非使能狀態(tài)。

(2)使用STM32F103VBT6的47腳作為TIM2_CH3,則需要對(duì)TIM2進(jìn)行重映射,然后再按復(fù)用功能的方式配置對(duì)應(yīng)引腳。

上一頁 1 2 下一頁

關(guān)鍵詞: STM32GPIO口配置模

評(píng)論


技術(shù)專區(qū)

關(guān)閉