/**********基于库函数,正点原子的探索者开发板***************/
#include "STM32f4xx.h"
#include "stm32f4xx_gpio.h"
int main(void)
{
/***½á¹¹Ì嶨Òå****/
GPIO_InitTypeDef a;
RCC_AHB1PeriphclockCmd(RCC_AHB1Periph_GPIOF, ENABLE);
a.GPIO_Pin=GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_8;//ʧÄÜ10ºÍ9
a.GPIO_Mode=GPIO_Mode_OUT;//ÉèÖÃΪÊä³öģʽ
a.GPIO_Speed=GPIO_Speed_50MHz; // 50MµÄÊä³öËÙ¶È
a.GPIO_OType=GPIO_OType_PP;//ÍÆÍìÊä³ö
a.GPIO_PuPd=GPIO_PuPd_UP;//ÉÏÀ²Êä³ö
GPIO_Init(GPIOF,&a);
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE, ENABLE);
a.GPIO_Pin=GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4;//ʧÄÜ10ºÍ9
a.GPIO_Mode=GPIO_Mode_IN;//ÉèÖÃΪÊä³öģʽ
a.GPIO_Speed=GPIO_Speed_50MHz; // 50MµÄÊä³öËÙ¶È
a.GPIO_PuPd=GPIO_PuPd_UP;//ÉÏÀ²Êä³ö
GPIO_Init(GPIOE,&a);
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);
// a.GPIO_Pin=GPIO_Pin_0£»//ʧÄÜ10ºÍ9
a.GPIO_Pin=GPIO_Pin_0;
a.GPIO_Mode=GPIO_Mode_IN;//ÉèÖÃΪÊä³öģʽ
a.GPIO_Speed=GPIO_Speed_50MHz; // 50MµÄÊä³öËÙ¶È
a.GPIO_PuPd=GPIO_PuPd_DOWN ;//ÉÏÀ²Êä³ö
GPIO_Init(GPIOA,&a);
GPIO_SetBits(GPIOF,GPIO_Pin_10|GPIO_Pin_9|GPIO_Pin_8);
while(1)
{
if(GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_2)==0)
{
GPIO_ResetBits(GPIOF,GPIO_Pin_9|GPIO_Pin_8);
GPIO_SetBits(GPIOF,GPIO_Pin_10);
}
else if(GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_3)==0)
{
GPIO_ResetBits(GPIOF,GPIO_Pin_10|GPIO_Pin_8);
GPIO_SetBits(GPIOF,GPIO_Pin_9);
}
else if(GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_4)==0)
{
GPIO_ResetBits(GPIOF,GPIO_Pin_10|GPIO_Pin_8);
GPIO_ResetBits(GPIOF,GPIO_Pin_9);
}
else if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)==1)
{
GPIO_ResetBits(GPIOF,GPIO_Pin_10|GPIO_Pin_9);
GPIO_SetBits(GPIOF,GPIO_Pin_8);
}
}
} |