amobbs.com 阿莫电子论坛

 找回密码
 注册
密码必须由大写、小写、数字组成,三者缺一不可
搜索
bottom↓
回复: 6

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

[复制链接]
(241264034)

出0入0汤圆

发表于 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;
}

}
现在问题:只要端口为低电平,中断就退出不了,反复中断,主程序都不跑,大家看看是程序问题吗?

广告:购买下面产品论坛可获得建设资金 >>

(241260848)

出0入0汤圆

 楼主| 发表于 2012-12-11 11:08:16 | 显示全部楼层
问题已经解决!看了英文手册发现错误了!
(227128442)

出0入0汤圆

发表于 2013-5-24 00:48:22 | 显示全部楼层
anxiangbo 发表于 2012-12-11 11:08
问题已经解决!看了英文手册发现错误了!

都是些不说如何解决问题的帖子.顶一顶,好记性.
(191404567)

出0入0汤圆

发表于 2014-7-11 12:06:17 | 显示全部楼层
楼主能说说如何解决的吗?
(35020946)

出0入0汤圆

发表于 2019-6-25 11:59:58 | 显示全部楼层
anxiangbo 发表于 2012-12-11 11:08
问题已经解决!看了英文手册发现错误了!

我也遇到相同的问题了,请问您是怎么解决的?
我看datasheet上没有说要特别注意的点,烦请提点一下,谢谢!
(35020438)

出0入0汤圆

发表于 2019-6-25 12:08:26 | 显示全部楼层
本帖最后由 walker 于 2019-6-25 12:11 编辑

低电平中断本来就是这样,低电平未解除,不重新进入就不对了。
低电平中断不等同于下降沿中断,程序处理时需注意
(35003511)

出0入0汤圆

发表于 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中断模式后,再开启总中断
复制代码
回帖提示: 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子论坛 ( 公安交互式论坛备案:44190002001997 粤ICP备09047143号-1 )

GMT+8, 2020-8-3 20:02

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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