liangzuolin 发表于 2012-10-29 20:51:56

请教STM8的EXTI异常????????

最近用STM8开发产品,用的很顺手,与STM32很多东西都相近,但最近出现个问题,让我不知所措,就是用EXTI功能,外部采集一个脉冲信号,以这个信号的上升沿和下降沿作为时间参考基准对外输出一个一个控制信号(其实就是采集220V的过0点,再输出脉冲控制可控硅)。现在的问题是外部脉冲信号来了,EXTI中断响应了,而是在一个高脉冲里响应很多次,低脉冲里没有响应!真是奇怪透了。请各位兄弟指点!!!函数如下:
void EXTI_Init(void)
{                                                              // PD3为上拉中断输入
     GPIO_Init(GPIOD,(GPIO_Pin_TypeDef)(GPIO_PIN_3),GPIO_MODE_IN_FL_IT);
     EXTI_SetExtIntSensitivity(EXTI_PORT_GPIOD,EXTI_SENSITIVITY_RISE_FALL);//允许上升沿,下降沿
}
INTERRUPT_HANDLER(EXTI_PORTD_IRQHandler, 6)
{
     GPIOC->ODR ^=0x80;                      // 测试-让外部信号来时PC7产生一个脉冲                            
}

发表于 2012-10-30 09:33:32

RE:请教STM8的EXTI异常????????

你用示波器检测一下这个波形。

liangzuolin 发表于 2012-11-7 20:40:29

RE:请教STM8的EXTI异常????????

问题已经搞定,STM8的AD与IO口是没有选择寄存器的,我的项目里有ANO,AN1用作AD功能,而PD3(AN4)用作EXTI功能,造成AD与EXTI相互干扰,将EXTI功能换到其他无AD复用的管脚就好了!(

huoyubing 发表于 2013-10-22 12:21:30

回复:请教STM8的EXTI异常????????

你好 想知道你获取的这个脉冲怎么输出?
页: [1]
查看完整版本: 请教STM8的EXTI异常????????