大学生
最后登录1970-1-1
在线时间 小时
注册时间2016-7-21
|
用的是ISO_V2板子
main.c
int main(void)
{
/* config the led */
LED_GPIO_Config();
LED1_ON;
/*config key*/
Key_GPIO_Config();
while(1)
{
if( Key_Scan(GPIOA,GPIO_Pin_0) == KEY_ON )
{
/*LED1·′×a*/
LED1_TOGGLE;
}
}
}
bsp_key.c
void Key_GPIO_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
// GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_Init(GPIOA, &GPIO_InitStructure);
}
void Delay(__IO uint32_t nCount) //¼òμ¥μÄÑóê±oˉêy
{
for(; nCount != 0; nCount--);
}
uint8_t Key_Scan(GPIO_TypeDef* GPIOx,u16 GPIO_Pin)
{
if(GPIO_ReadInputDataBit(GPIOx,GPIO_Pin) == KEY_ON )
{
Delay(10000);
if(GPIO_ReadInputDataBit(GPIOx,GPIO_Pin) == KEY_ON )
{
while(GPIO_ReadInputDataBit(GPIOx,GPIO_Pin) == KEY_ON);
return KEY_ON;
}
else
return KEY_OFF;
}
else
return KEY_OFF;
}
|
|