OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 18993|回复: 6

EXTI15_10_IRQHandler()怎么判断是哪个中断在执行

[复制链接]

18

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
138
金钱
138
注册时间
2013-7-6
在线时间
0 小时
发表于 2013-8-23 16:51:22 | 显示全部楼层 |阅读模式
最近重温STM32外部中断,刚开始学的时候就对这个多个中断共用一个中断服务函数没理解,现在重看还是不能理解,书上的讲解按下key0和key1会触发不同的中断,通过电平检测来知道那个中断在触发,以便实现不同的操作。我想知道不用电平检测咋知道是那个中断在执行,我读取IABR的值,然后打印出来但是貌似是不对的,我按key0和key1是读出来的值就一直是0,按下WK_UP时读取的为64,这个差别也太大了,我又去读取PR,貌似这个是不可读的,结果都是0.懂的人帮忙解释一下。


书上对几个短的数组详细介绍了,那几个长数组又是干啥用的?一个都没介绍
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

39

主题

2026

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2020
金钱
2020
注册时间
2013-5-1
在线时间
87 小时
发表于 2013-8-23 18:22:36 | 显示全部楼层
不用按键检测的话就检测中断挂起寄存器(EXTI_PR)
博观而约取,厚积而薄发。
回复 支持 反对

使用道具 举报

39

主题

2026

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2020
金钱
2020
注册时间
2013-5-1
在线时间
87 小时
发表于 2013-8-23 18:24:40 | 显示全部楼层
哪有这几个数组?...挺面生的啊
博观而约取,厚积而薄发。
回复 支持 反对

使用道具 举报

18

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
138
金钱
138
注册时间
2013-7-6
在线时间
0 小时
 楼主| 发表于 2013-8-23 18:34:49 | 显示全部楼层
试过了,PR读取一直是0,我也很郁闷
回复 支持 反对

使用道具 举报

18

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
138
金钱
138
注册时间
2013-7-6
在线时间
0 小时
 楼主| 发表于 2013-8-23 18:53:19 | 显示全部楼层
原子哥,出来帮忙啊
回复 支持 反对

使用道具 举报

54

主题

1008

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2385
金钱
2385
注册时间
2012-11-22
在线时间
403 小时
发表于 2013-8-23 20:36:07 | 显示全部楼层
if(EXTI_GetITStatus(EXTI_Line10) != RESET)
{

}
EXTI_ClearITPendingBit(EXTI_Line10);
if(EXTI_GetITStatus(EXTI_Line13) != RESET)
{

}
EXTI_ClearITPendingBit(EXTI_Line13);
这个不就是判断哪个中断在执行吗?
态度决定一切
回复 支持 反对

使用道具 举报

18

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
138
金钱
138
注册时间
2013-7-6
在线时间
0 小时
 楼主| 发表于 2013-8-23 22:30:24 | 显示全部楼层
这个。。。,我学的是操作寄存器,我想知道通过判断哪个寄存器会到达哪个效果
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-14 13:44

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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