野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12379|回复: 5

STM32F103RCT6 重复进入外部中断

[复制链接]
发表于 2016-3-30 11:59:14 | 显示全部楼层 |阅读模式
外部中断引脚配置为上拉输入
采用双沿触发中断
复用时钟AFIO已经开启


现象是
当中断引脚为低电平时 重复触发中断
中断标志位不停被置一然后产生中断
在中断标志位清除之后再读取中断标志位状态  发现有时候标志位仍然为1  然后中断执行完之后又重复触发中断


自己感觉问题应该出在中断引脚信号上 或者是标志位清除的不彻底  或者清除的方法不对、
请大神指点一二


下面是部分程序

#define MOTOR_1_HouXian_EXTI  
回复

使用道具 举报

 楼主| 发表于 2016-3-30 12:00:11 | 显示全部楼层
???程序怎么不见了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-30 12:02:52 | 显示全部楼层
补上程序

#define MOTOR_1_HouXian_EXTI          (EXTI_Line6)
#define MOTOR_1_QianXian_EXTI         (EXTI_Line7)
#define STMOTOR_HouXian_EXTI         (EXTI_Line8)
#define STMOTOR_QianXian_EXTI   (EXTI_Line9)
清中断之前先将中断标志位读取出来打印出来然后清标志位
EXTI_ClearITPendingBit(MOTOR_1_HouXian_EXTI);   
EXTI_ClearITPendingBit(MOTOR_1_QianXian_EXTI);     
EXTI_ClearITPendingBit(STMOTOR_HouXian_EXTI);
EXTI_ClearITPendingBit(STMOTOR_QianXian_EXTI);
清完之后再读取打印一次
发现清完之后的标志位还有为一的   导致再次触发中断
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-30 13:26:33 | 显示全部楼层
自己顶一下
回复 支持 反对

使用道具 举报

发表于 2016-4-5 08:45:46 来自手机 | 显示全部楼层
兄弟在中断函数里清的中断标志位吗?然后也是在中断函数里读取的标志位吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-4-13 20:35:53 | 显示全部楼层
猫和四叶草 发表于 2016-4-5 08:45
兄弟在中断函数里清的中断标志位吗?然后也是在中断函数里读取的标志位吗?

是的 这些都在中断里面处理
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2025-1-16 00:14 , Processed in 0.030306 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表