STM8S003 上升沿进不去外部中断问题

硬件配置中为双边沿触发;

问题:下降沿触发部分程序可以执行,上升沿进不去。

测试结果:上升沿可以进入中断,但是判断语句不满足条件。

 if(GPIO_ReadInputPin(LED1_PORT,LED1_PIN)==1)//下降沿触发中断

条件函数为:

BitStatus GPIO_ReadInputPin(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef GPIO_Pin)
{
return ((BitStatus)(GPIOx->IDR & (uint8_t)GPIO_Pin));
}

typedef enum {RESET = 0, SET = !RESET} FlagStatus, ITStatus, BitStatus, BitAction;

因此,GPIO_ReadInputPin(LED1_PORT,LED1_PIN)函数的返回值为 0  或是非0 及真值。

1为真值,但是真值不只是1.

 

posted @ 2017-08-21 15:14  HaiTaoW  阅读(2378)  评论(0)    收藏  举报