你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 15793|回复: 6

触发一次外部中断后,怎么在中断子程序中关闭外部中断

[复制链接]

38

主题

70

回帖

0

蝴蝶豆

中级会员

最后登录
2020-12-1
发表于 2012-5-13 13:12:05 | 显示全部楼层 |阅读模式
我想用一组外部脉冲的上升沿触发外部中断,但是只是一次中断,中断一次就结束,怎么做呢?
用过很多方法都是错的,
 
<
回复

使用道具 举报

21

主题

30

回帖

0

蝴蝶豆

初级会员

最后登录
1970-1-1
发表于 2012-5-13 14:31:20 | 显示全部楼层

RE:触发一次外部中断后,怎么在中断子程序中关闭外部中断

你是说你的程序只有一次中断,过后就没有响应中断了? 是这样吗?建议贴出代码来让坛中高手具体看看出了什么问题。
回复 支持 反对

使用道具 举报

38

主题

70

回帖

0

蝴蝶豆

中级会员

最后登录
2020-12-1
 楼主| 发表于 2012-5-13 16:39:31 | 显示全部楼层

RE:触发一次外部中断后,怎么在中断子程序中关闭外部中断

我我想确认有个8M的脉冲已经输出,我用这个8M的外部脉冲的一个上升沿触发STM32外部中断PA15,中断一次就立即关闭,但是我进入中断后出不来了,好像是脉冲的频率太高,一直中断,所以我想是否有办法在中断中结束中断

void EXTI15_10_IRQHandler(void)
{
if(EXTI_GetITStatus(EXTI_Line15)!=RESET)
{
  Flag=1
  GPIO_SetBits(GPIOB,GPIO_Pin_13);
  GPIO_SetBits(GPIOB,GPIO_Pin_12);
  EXTI_ClearITPendingBit(EXTI_Line15);

  }
}
  NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn;
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;                // 抢占优先级别1
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; //响应优先级别1
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  NVIC_Init(&amp;NVIC_InitStructure);
回复 支持 反对

使用道具 举报

0

主题

1

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2012-10-17 19:29:44 | 显示全部楼层

回复:触发一次外部中断后,怎么在中断子程序中关闭外部中断

EXTI-&gt;IMR &amp;= 0X00000000;  //屏蔽外部中断
回复 支持 反对

使用道具 举报

9

主题

210

回帖

0

蝴蝶豆

高级会员

最后登录
2018-10-12
发表于 2015-12-3 10:56:15 | 显示全部楼层
王波*_* 发表于 2012-10-17 19:29
EXTI-&gt;IMR &amp;= 0X00000000;  //屏蔽外部中断

这个是关闭所有的外部中断,如果有多路外部中断,怎么去关闭单路外部中断呢?
回复 支持 反对

使用道具 举报

134

主题

4489

回帖

239

蝴蝶豆

版主

最后登录
2020-12-9
发表于 2015-12-3 14:02:39 | 显示全部楼层
NVIC_DisableIRQ,103的在stm32f10x.h中定义的。
回复 支持 反对

使用道具 举报

4

主题

605

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-10-12
发表于 2015-12-3 21:10:46 来自手机 | 显示全部楼层
关闭丨O口中断功能
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版