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

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

[复制链接]
hai325-289934 提问时间:2012-5-13 13:12 /
我想用一组外部脉冲的上升沿触发外部中断,但是只是一次中断,中断一次就结束,怎么做呢?
用过很多方法都是错的,
 
收藏 评论6 发布时间:2012-5-13 13:12

举报

6个回答
zengwh 回答时间:2012-5-13 14:31:20

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

你是说你的程序只有一次中断,过后就没有响应中断了? 是这样吗?建议贴出代码来让坛中高手具体看看出了什么问题。
hai325-289934 回答时间: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(&NVIC_InitStructure);
王波*_* 回答时间:2012-10-17 19:29:44

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

EXTI->IMR &= 0X00000000;  //屏蔽外部中断
紫嫣0302 回答时间:2015-12-3 10:56:15
王波*_* 发表于 2012-10-17 19:29
EXTI->IMR &= 0X00000000;  //屏蔽外部中断

这个是关闭所有的外部中断,如果有多路外部中断,怎么去关闭单路外部中断呢?
废鱼 回答时间:2015-12-3 14:02:39
NVIC_DisableIRQ,103的在stm32f10x.h中定义的。
cos12a-21701 回答时间:2015-12-3 21:10:46
关闭丨O口中断功能

所属标签

相似问题

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