野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9777|回复: 6

关于STM32F103的外部中断的问题 求助

[复制链接]
发表于 2017-12-27 09:08:49 | 显示全部楼层 |阅读模式
在写外部中断的时候遇到的问题,清除中断标志位的 位置不同 出现的结果是不同的,以在开发板上看到

求知道的大腿说下


外部中断.png
这两个位置的 有什么区别吗
回复

使用道具 举报

发表于 2017-12-27 09:30:19 | 显示全部楼层
后面那种能确保每次都清除按键引脚的中断
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-27 10:30:53 | 显示全部楼层
flyleaf 发表于 2017-12-27 09:30
后面那种能确保每次都清除按键引脚的中断

的确是 第二种现象和预期是一样的
但是请教下  为什么第一种 也清除了标志为 为什么会清不掉
回复 支持 反对

使用道具 举报

发表于 2017-12-27 11:01:19 | 显示全部楼层
杜甫 发表于 2017-12-27 10:30
的确是 第二种现象和预期是一样的
但是请教下  为什么第一种 也清除了标志为 为什么会清不掉

因为可能有其它中断,或者进了中断后那个判断条件不成立了,没有执行到
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-27 11:28:17 | 显示全部楼层
flyleaf 发表于 2017-12-27 11:01
因为可能有其它中断,或者进了中断后那个判断条件不成立了,没有执行到

1.我开了串口的接收中断,但是我并没有触发它
2.进中断之后,可以肯定执行了if语句的内容,因为灯的状态会翻转,所以也一定执行了清除标志位的操作
3.假如说进中断后 判断不成立,那为什么还要判断
4.现在的代码现象为,方法1: 一次按键中断,LED灯的状态会翻转2次(概率很大)
                              方法2:一次按键中断,LED灯的状态只翻转1次(多次试验,稳定)
现在有点搞不懂,为什么清中断的位置不同,结果会不同,还希望大神帮帮忙
回复 支持 反对

使用道具 举报

发表于 2017-12-27 16:42:59 | 显示全部楼层
读代码吧,这问题叶问。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-29 15:44:44 | 显示全部楼层
杨登辉 发表于 2017-12-27 16:42
读代码吧,这问题叶问。

嗯 已经找到问题了 谢谢
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-17 14:11 , Processed in 0.036045 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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