新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > STM32的GPIO口的8種配置模式

        STM32的GPIO口的8種配置模式

        作者: 時間:2016-11-25 來源:網絡 收藏

        本文引用地址:http://www.104case.com/article/201611/321405.htm

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

        4.1 GPIO初始化

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

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

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

        4.3GPIO初始化完成。

        五、 的GPIO操作函數

        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的某個位置位

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

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

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

        六、管腳的復用功能重映射

        1、復用功能:內置外設是與I/O口共用引出管腳(不同的功能對應同一管腳)

        STM32 所有內置外設的外部引腳都是與標準GPIO引腳復用的,如果有多個復用功能模塊對應同一個引腳,只能使能其中之一,其它模塊保持非使能狀態。

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

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

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

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

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

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

        - CAN模塊; - JTAG調試接口;- 大部分定時器的引出接口; - 大部分USART引出接口

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

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

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

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

        上一頁 1 2 下一頁

        關鍵詞: STM32GPIO口配置模

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 桃源县| 红原县| 穆棱市| 四会市| 莱阳市| 襄垣县| 阳东县| 微博| 翁源县| 镇原县| 交城县| 寿光市| 永川市| 色达县| 简阳市| 吴堡县| 年辖:市辖区| 万安县| 万年县| 永春县| 齐齐哈尔市| 昌乐县| 高密市| 乌兰浩特市| 都匀市| 桐柏县| 香河县| 泽普县| 理塘县| 额济纳旗| 乌恰县| 安溪县| 永仁县| 安平县| 云阳县| 惠水县| 高阳县| 大丰市| 岳池县| 彭山县| 皋兰县|