新聞中心

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

        STM32 GPIO的配置

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

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

        #define IS_GPIO_SPEED(SPEED) ((SPEED == GPIO_Speed_10MHz) ||

        (SPEED == GPIO_Speed_2MHz) || (SPEED == GPIO_Speed_50MHz))

        做一個GPIO輸出的試驗

        當I/O 端口被配置為推挽模式輸出時:輸出寄存器上的0 激活N-MOS,而輸

        出寄存器上的1 將激活P-MOS。

        用這段程序實現:GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;

        int main(void)

        {

        #ifdef DEBUG

        debug();

        #endif

        RCC_Configuration();

        NVIC_Configuration();

        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);

        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 |

        GPIO_Pin_7;

        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;

        GPIO_Init(GPIOC, &GPIO_InitStructure);

        while (1)

        {

        GPIO_SetBits(GPIOC, GPIO_Pin_4); //設置PC.04 pin為高電平,點亮

        LED1

        Delay();

        GPIO_ResetBits(GPIOC, GPIO_Pin_4); //設置PC.04 pin為低電平,熄滅

        LED1

        Delay();

        }

        }

        做一個GPIO輸入的試驗:以EK-STM32F中LCDdemo做例子

        這個試驗中把GPIO的PD.04做為按鍵輸入,當下降沿來臨時觸發。

        LCDdemo中的例程如下:首先配置按鍵PD.03, PD.04為按鍵輸入接口。

        void Button_Config(void)

        {

        GPIO_InitTypeDef GPIO_InitStructure;

        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE);

        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4 ;

        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;

        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

        GPIO_Init(GPIOD, &GPIO_InitStructure);

        }

        下面為按鍵作用是啟動外部中斷

        GPIO_EXTILineConfig(GPIO_PortSourceGPIOD, GPIO_PinSource3);

        EXTI_InitStructure.EXTI_Line = EXTI_Line3; //設定外部中斷3

        EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; //設定中斷模式

        EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; //設定下降沿觸

        發模式

        EXTI_InitStructure.EXTI_LineCmd = ENABLE;

        EXTI_Init(&EXTI_InitStructure);


        上一頁 1 2 下一頁

        關鍵詞: STM32GPIO配

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 南岸区| 乡宁县| 麻江县| 大安市| 桦甸市| 酉阳| 铁岭市| 乌兰浩特市| 楚雄市| 辉南县| 岳阳县| 温州市| 都昌县| 新龙县| 疏附县| 天津市| 临朐县| 德格县| 神农架林区| 镇康县| 徐水县| 车险| 碌曲县| 剑河县| 潜江市| 秦皇岛市| 余姚市| 盈江县| 兴化市| 南木林县| 无棣县| 宝丰县| 丹凤县| 鹤岗市| 来凤县| 康定县| 花莲市| 山东省| 新龙县| 贡山| 偏关县|