| 
 
高级会员 
 
	积分902金钱902 注册时间2012-6-29在线时间39 小时 | 
 
1金钱 
| 本帖最后由 catbal 于 2016-11-27 00:41 编辑 
 我使用PC2口设为有中断上拉输入后  为啥检测不到低电平  我通过灯来判断  C2 接按键
 
 void key_Init(void)
 {
 
 //key
 GPIO_Init(GPIOC, GPIO_PIN_2, GPIO_MODE_IN_PU_IT);
 //GPIO_Init(GPIOC, GPIO_PIN_2, GPIO_MODE_IN_PU_NO_IT);
 //wifi_staus_led
 GPIO_Init(GPIOD, GPIO_PIN_2, GPIO_MODE_OUT_PP_LOW_FAST);
 
 GPIO_Init(GPIOB, GPIO_PIN_1, GPIO_MODE_IN_PU_NO_IT);
 
 GPIO_Init(GPIOC, GPIO_PIN_6, GPIO_MODE_OUT_PP_LOW_FAST);
 GPIO_Init(GPIOC, GPIO_PIN_7, GPIO_MODE_OUT_PP_LOW_FAST);
 
 EXTI_DeInit();
 EXTI_SetExtIntSensitivity(EXTI_PORT_GPIOC, EXTI_SENSITIVITY_FALL_ONLY);
 
 }
 
 void  mian()
 {
 CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);
 key_Init();
 while(1)
 {
 if(GPIO_ReadInputPin(GPIOC, GPIO_PIN_2)==0)
 GPIO_WriteHigh(GPIOD, GPIO_PIN_2);
 else
 GPIO_WriteLow(GPIOD, GPIO_PIN_2);
 }
 
 #pragma vector=7
 __interrupt void EXTI_PORTC_IRQHandler(void)
 {
 TIM1_Cmd(ENABLE);
 key_time1=0;
 Delay_ms(10000);
 Delay_ms(10000);
 if(GPIO_ReadInputPin(GPIOC, GPIO_PIN_2)==0)
 {
 if(key_flag==1&&key_time<50)
 key_flag=2;
 else
 key_flag=1;
 Delay_ms(10000);
 Delay_ms(10000); Delay_ms(10000); Delay_ms(10000);
 Delay_ms(10000); Delay_ms(10000); Delay_ms(10000);
 Delay_ms(10000); Delay_ms(10000); Delay_ms(10000);
 if((GPIO_ReadInputPin(GPIOC, GPIO_PIN_2)==0))
 {
 key_flag=3;
 }
 Delay_ms(10000);
 
 }
 
 
 }
 
 
 }
 
 
 | 
 |