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.
做一件事,要么别做,要么全力以赴。

浙公网安备 33010602011771号