一、当按键按下的时刻,将向开发板输送低电平,可以得到以下控制图: 二、主函数控制逻辑如下:
#define KEYA_SPEED1 100
#define KEYA_SPEED2 10
int main (void){
u8 a=0,b,c=0;
RCC_Configuration();
LED_Init();
TOUCH_KEY_Init();
while(1){
if(!GPIO_ReadInputDataBit(TOUCH_KEYPORT,TOUCH_KEY_A)){
delay_ms(20);
if(!GPIO_ReadInputDataBit(TOUCH_KEYPORT,TOUCH_KEY_A)){
while((!GPIO_ReadInputDataBit(TOUCH_KEYPORT,TOUCH_KEY_A))&&c<KEYA_SPEED1){
c++;delay_ms(10);
}
if(c>=KEYA_SPEED1){
GPIO_WriteBit(LEDPORT,LED1,(BitAction)(1));
while(!GPIO_ReadInputDataBit(TOUCH_KEYPORT,TOUCH_KEY_A));
}else{
for(b=0;b<KEYA_SPEED2;b++){
delay_ms(20);
if(!GPIO_ReadInputDataBit(TOUCH_KEYPORT,TOUCH_KEY_A)){
a=1;
GPIO_WriteBit(LEDPORT,LED2,(BitAction)(1));
while(!GPIO_ReadInputDataBit(TOUCH_KEYPORT,TOUCH_KEY_A));
}
}
if(a==0){
GPIO_WriteBit(LEDPORT,LED1|LED2,(BitAction)(0));
}
}
a=0;c=0;
}
}
}
}
三、使用硬件
1.微动开关
2.触摸开关
|