amoBBS 阿莫电子论坛

 找回密码
 注册
搜索
bottom↓
查看: 3169|回复: 6

STM8L外部中断是否设计有缺陷还是我的程序问题?(问题解...

[复制链接]
发表于 2012-12-11 10:15:10 | 显示全部楼层 |阅读模式
本帖最后由 anxiangbo 于 2012-12-11 12:55 编辑

我用的是STM8L151K4,用的是PB0端口,平时电平为高电平,有信号时低电平中断,问题现在来了,中断可以进去,就是反复中断,退出不了,在中断里也清除标志了!

CPU_CCR|=0X20;
    CPU_CCR|=0X08;
PB_DDR_DDR0=0;      //INT
PB_CR2_C20=1;       // 使能外部中断
EXTI_CR1 |= 0x00;  //   

#pragma vector=EXTI0_vector   // 电表脉冲检测
__interrupt void EXTI0_Server(void)
{
    if((EXTI_SR1&0x01)==1)
    {

        EXTI_SR1 =0x01;
}

}
现在问题:只要端口为低电平,中断就退出不了,反复中断,主程序都不跑,大家看看是程序问题吗?
 楼主| 发表于 2012-12-11 11:08:16 | 显示全部楼层
问题已经解决!看了英文手册发现错误了!
发表于 2013-5-24 00:48:22 | 显示全部楼层
anxiangbo 发表于 2012-12-11 11:08
问题已经解决!看了英文手册发现错误了!

都是些不说如何解决问题的帖子.顶一顶,好记性.
发表于 2014-7-11 12:06:17 | 显示全部楼层
楼主能说说如何解决的吗?
发表于 2019-6-25 11:59:58 | 显示全部楼层
anxiangbo 发表于 2012-12-11 11:08
问题已经解决!看了英文手册发现错误了!

我也遇到相同的问题了,请问您是怎么解决的?
我看datasheet上没有说要特别注意的点,烦请提点一下,谢谢!
发表于 2019-6-25 12:08:26 | 显示全部楼层
本帖最后由 walker 于 2019-6-25 12:11 编辑

低电平中断本来就是这样,低电平未解除,不重新进入就不对了。
低电平中断不等同于下降沿中断,程序处理时需注意
发表于 2019-6-25 16:50:33 | 显示全部楼层
问题已解决:
  1.    
  2.     EXTI_DeInit();
  3.     //enableInterrupts();        //在配置中断前不能使能总中断,否则配置不成功。
  4.     GPIO_Init(HSJ160_INT_GPIO_PORT,HSJ160_INT_GPIO_PIN, GPIO_Mode_In_PU_IT);
  5.     EXTI_SetPinSensitivity((EXTI_Pin_TypeDef)HSJ160_EXIT_PINX, EXTI_Trigger_Falling);   //配置为下降沿中断
  6.     enableInterrupts();                //配置IO中断模式后,再开启总中断
复制代码
友情提示:标题不合格、重复发帖,将会被封锁ID。详情请参考:论坛通告:封锁ID、获得注册邀请码、恢复被封ID、投诉必读
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|阿莫电子论坛(原ourAVR/ourDEV) ( 公安备案:44190002001997(交互式论坛) 工信部备案:粤ICP备09047143号 )

GMT+8, 2019-7-16 03:03

阿莫电子论坛, 原"中国电子开发网"

© 2004-2018 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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