在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STM32學(xué)習(xí)筆記之GPIO

            STM32學(xué)習(xí)筆記之GPIO

            作者: 時(shí)間:2016-11-26 來(lái)源:網(wǎng)絡(luò) 收藏
            GPIO功能描述

            每個(gè)GPI/O端口有兩個(gè)32位配置寄存器(GPIOx_CRL,GPIOx_CRH),兩個(gè)32位數(shù)據(jù)寄存器(GPIOx_IDR和GPIOx_ODR),一個(gè)32位置位/復(fù)位寄存器(GPIOx_BSRR),一個(gè)16位復(fù)位寄存器(GPIOx_BRR)和一個(gè)32位鎖定寄存器(GPIOx_LCKR)。根據(jù)數(shù)據(jù)手冊(cè)中列出的每個(gè)I/O端口的特定硬件特征, GPIO端口的每個(gè)位可以由軟件分別配置成多種模式。 ─ 輸入浮空 ─ 輸入上拉 ─ 輸入下拉 ─ 模擬輸入 ─ 開漏輸出 ─ 推挽式輸出 ─ 推挽式復(fù)用功能 ─ 開漏復(fù)用功能每個(gè)I/O端口位可以自由編程,然而I/0端口寄存器必須按32位字被訪問(wèn)(不允許半字或字節(jié)訪問(wèn))。GPIOx_BSRR和GPIOx_BRR寄存器允許對(duì)任何GPIO寄存器的讀/更改的獨(dú)立訪問(wèn);這樣,在讀和更改訪問(wèn)之間產(chǎn)生IRQ時(shí)不會(huì)發(fā)生危險(xiǎn)。

            本文引用地址:http://www.biyoush.com/article/201611/321705.htm


            void GPIO_Configuration(void)
            {
            GPIO_InitTypeDef GPIO_InitStructure;

            #ifdef USE_STM3210C_EVAL

            GPIO_PinRemapConfig(GPIO_PartialRemap_USART3, ENABLE);


            GPIO_PinRemapConfig(GPIO_Remap_USART2, ENABLE);
            #elif defined USE_STM3210B_EVAL

            GPIO_PinRemapConfig(GPIO_Remap_USART2, ENABLE);
            #endif


            GPIO_InitStructure.GPIO_Pin = USARTy_RxPin;
            GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
            GPIO_Init(USARTy_GPIO, &GPIO_InitStructure);


            GPIO_InitStructure.GPIO_Pin = USARTz_RxPin;
            GPIO_Init(USARTz_GPIO, &GPIO_InitStructure);


            GPIO_InitStructure.GPIO_Pin = USARTy_TxPin;
            GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
            GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
            GPIO_Init(USARTy_GPIO, &GPIO_InitStructure);


            GPIO_InitStructure.GPIO_Pin = USARTz_TxPin;
            GPIO_Init(USARTz_GPIO, &GPIO_InitStructure);


            RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB, ENABLE);

            GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7;
            GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
            GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
            GPIO_Init(GPIOA, &GPIO_InitStructure);
            //GPIO_Init(GPIOB, &GPIO_InitStructure);

            }

            #ifndef __LED_H
            #define __LED_H

            #include "stm32f10x.h"

            #define LED1On()GPIOA->BSRR = GPIO_Pin_4
            #define LED1Off()GPIOA->BRR = GPIO_Pin_4
            #define LED2On()GPIOA->BSRR = GPIO_Pin_5
            #define LED2Off()GPIOA->BRR = GPIO_Pin_5
            #define LED3On()GPIOA->BSRR = GPIO_Pin_6
            #define LED3Off()GPIOA->BRR = GPIO_Pin_6
            #define LED4On()GPIOA->BSRR = GPIO_Pin_7
            #define LED4Off()GPIOA->BRR = GPIO_Pin_7

            #endif

            PS:在使用GPIO前必須進(jìn)行配置,注意復(fù)用功能,使能GPIO時(shí)鐘等。



            關(guān)鍵詞: STM32學(xué)習(xí)筆記GPI

            評(píng)論


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

            關(guān)閉