初级会员

- 积分
- 60
- 金钱
- 60
- 注册时间
- 2014-3-29
- 在线时间
- 0 小时
|
5金钱
部分程序如下:
#define key1 PDin(0)
#define key2 PAin(14)
#define key3 PCin(10)
#define key4 PCin(12)
#define Out PBout(13)
void key_init()
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOD|RCC_APB2Periph_GPIOG|RCC_APB2Periph_GPIOE, ENABLE);
GPIO_InitTypeDef gpio_init_struct;
gpio_init_struct.GPIO_Pin = GPIO_Pin_0;
gpio_init_struct.GPIO_Mode = GPIO_Mode_IN_FLOATING;
gpio_init_struct.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOD, &gpio_init_struct);
gpio_init_struct.GPIO_Pin =GPIO_Pin_10|GPIO_Pin_12;
GPIO_Init(GPIOC, &gpio_init_struct);
gpio_init_struct.GPIO_Pin =GPIO_Pin_14;
GPIO_Init(GPIOA, &gpio_init_struct);
gpio_init_struct.GPIO_Mode=GPIO_Mode_Out_PP;
gpio_init_struct.GPIO_Speed=GPIO_Speed_50MHz;
gpio_init_struct.GPIO_Pin=GPIO_Pin_13;
GPIO_Init(GPIOB,&gpio_init_struct);
}
void basic_1()
{
MOTO(1,1,3500);
}
void basic_2()
{
MOTO(0,0,0);
}
void key_scan()
{
if(key1==0)
{
Delay_Ms(10);//去抖动
if(key1==0)
basic_1(),Out=1;
}
if(key2==0)
{
Delay_Ms(10);//去抖动
if(key2==0)
basic_2(),Out=0;
}
}
int main()
{
key_init();
while(1){key_scan();}
}
不知道为什么,按下4个按键都没有反应,之前没加按键时程序正常,求教?
|
|