我在设计中使用exti中断对输入脉冲计数,总是多计 使用PD15做exti输入脚,脉冲干净无毛刺,外部脉冲经光电隔离后经 施密特反相器整形后输入到 PD15脚 程序如下,请指教; 初始化程序如下; void EXTI_Configuration(void) { EXTI_InitTypeDef EXTI_InitStructure; EXTI_DeInit(); GPIO_EXTILineConfig(GPIO_PortSourceGPIOD, GPIO_PinSource15); EXTI_InitStructure.EXTI_Line = EXTI_Line15; EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; EXTI_InitStructure.EXTI_LineCmd = ENABLE; EXTI_Init(&EXTI_InitStructure); }
void GPIO_Configuration(void) { GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOD, &GPIO_InitStructure); } 中断服务程序如下 void EXTI15_10_IRQHandler(void) { if(EXTI_GetITStatus(EXTI_Line15) != RESET) { EXTI_ClearITPendingBit(EXTI_Line15); pluse++; } }
|