OpenEdv-开源电子网

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

失能中断

[复制链接]

32

主题

187

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1123
金钱
1123
注册时间
2021-3-21
在线时间
172 小时
发表于 2022-6-18 09:17:10 | 显示全部楼层 |阅读模式
1金钱
芯片型号为STM32F030C8T6,设置PA6,PA8引脚为外部中断。在某个条件完成时,需要关闭PA6的外部中断,应该怎么做?

最佳答案

查看完整内容[请看2#楼]

EXTI寄存器EXTI_IMR改一下
慎独
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

11

主题

2131

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4731
金钱
4731
注册时间
2015-1-10
在线时间
591 小时
发表于 2022-6-18 09:17:11 | 显示全部楼层
EXTI寄存器EXTI_IMR改一下
回复

使用道具 举报

4

主题

896

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4309
金钱
4309
注册时间
2019-9-4
在线时间
896 小时
发表于 2022-6-18 09:48:29 | 显示全部楼层
如果是寄存器,可以看下参考手册的IO口描述,里面有中断使能失能的寄存器。如果是库函数的,有函数可以直接调用的
回复

使用道具 举报

32

主题

187

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1123
金钱
1123
注册时间
2021-3-21
在线时间
172 小时
 楼主| 发表于 2022-6-18 09:50:52 | 显示全部楼层
A571157242 发表于 2022-6-18 09:48
如果是寄存器,可以看下参考手册的IO口描述,里面有中断使能失能的寄存器。如果是库函数的,有函数可以直接 ...

用的HAL库,但是外部中断6到8线用的都是 EXTI4_15_IRQHandler   ,如果失能EXTI4_15_IRQHandler的话,那么PA8也没法用
慎独
回复

使用道具 举报

3

主题

821

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3359
金钱
3359
注册时间
2011-11-10
在线时间
207 小时
发表于 2022-6-18 11:43:58 | 显示全部楼层
Amiao 发表于 2022-6-18 09:50
用的HAL库,但是外部中断6到8线用的都是 EXTI4_15_IRQHandler   ,如果失能EXTI4_15_IRQHandler的话,那 ...

把引脚重新配置一下,配置成模拟输入模式就行了。
回复

使用道具 举报

32

主题

187

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1123
金钱
1123
注册时间
2021-3-21
在线时间
172 小时
 楼主| 发表于 2022-6-20 09:44:22 | 显示全部楼层
c2007s 发表于 2022-6-18 11:43
把引脚重新配置一下,配置成模拟输入模式就行了。

除了这种还有别的方法嘛?
慎独
回复

使用道具 举报

3

主题

805

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3832
金钱
3832
注册时间
2017-3-7
在线时间
1671 小时
发表于 2022-6-20 09:47:43 | 显示全部楼层
加个标志位,进了中断直接退出也行,看你具体需求了
回复

使用道具 举报

32

主题

187

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1123
金钱
1123
注册时间
2021-3-21
在线时间
172 小时
 楼主| 发表于 2022-6-20 10:05:37 | 显示全部楼层
a5820736 发表于 2022-6-20 09:47
加个标志位,进了中断直接退出也行,看你具体需求了

我的第二种思路就是在条件达成后,增加标志位,然后在中断里判断
慎独
回复

使用道具 举报

32

主题

187

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1123
金钱
1123
注册时间
2021-3-21
在线时间
172 小时
 楼主| 发表于 2022-6-20 11:11:21 | 显示全部楼层
阿侑kevin 发表于 2022-6-20 10:49
EXTI寄存器EXTI_IMR改一下

   EXTI4_15_IRQHandler            ; EXTI Line 4 to 15。这样改了的话PA8也没法用
慎独
回复

使用道具 举报

11

主题

2131

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4731
金钱
4731
注册时间
2015-1-10
在线时间
591 小时
发表于 2022-6-20 11:47:30 | 显示全部楼层
Amiao 发表于 2022-6-20 11:11
EXTI4_15_IRQHandler            ; EXTI Line 4 to 15。这样改了的话PA8也没法用

???你说的是NVIC吧,PA6和PA8在两个EXTI line上,一个是EXTI6一个是EXTI8,EXTI_IMR只控制EXTI Line
回复

使用道具 举报

31

主题

1953

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4462
金钱
4462
注册时间
2018-5-11
在线时间
932 小时
发表于 2022-6-20 11:51:22 | 显示全部楼层
Amiao 发表于 2022-6-20 10:05
我的第二种思路就是在条件达成后,增加标志位,然后在中断里判断

如果是共用中断线的话,
可以这么干,
在中断里判断就可以的。
我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复

使用道具 举报

32

主题

187

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1123
金钱
1123
注册时间
2021-3-21
在线时间
172 小时
 楼主| 发表于 2022-6-20 14:19:22 | 显示全部楼层
阿侑kevin 发表于 2022-6-20 11:47
???你说的是NVIC吧,PA6和PA8在两个EXTI line上,一个是EXTI6一个是EXTI8,EXTI_IMR只控制EXTI Line

昂昂昂,理解错了
慎独
回复

使用道具 举报

32

主题

187

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1123
金钱
1123
注册时间
2021-3-21
在线时间
172 小时
 楼主| 发表于 2022-6-21 10:51:40 | 显示全部楼层
阿侑kevin 发表于 2022-6-20 11:47
???你说的是NVIC吧,PA6和PA8在两个EXTI line上,一个是EXTI6一个是EXTI8,EXTI_IMR只控制EXTI Line

        EXTI->IMR &= ~(EXTI_LINE_6);EXTI->IMR |= EXTI_LINE_6 ;
非常感谢,已经解决。
慎独
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-26 22:00

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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