• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

STM8s103,IO口中断,上升沿触发,一直进入中断服务函

Key一哥 2018-10-11 浏览量:1584
我的程序是用的是PE.5口
  PE_DDR &= ~0x20; //PE.5   //设置为输入
  PE_CR1 |= 0x20;//上拉输入
  PE_CR2 |= 0x20; //允许中断 
  EXTI_CR2 &=~MASK_EXTI_CR2_PEIS; //MASK_EXTI_CR2_PEIS =0x03
  EXTI_CR2 |=0x01; //仅上升沿触发。
这样配置后,我把PE.5口拉低,程序就一直进入
#pragma vector=9
__interrupt void EXTI_PORTE_IRQHandler(void)
{
}
这个函数。这是为什么?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 跳转就相当于复位。 也就是IAP和APP,都可以把内存 用完。 但是互相不影响。
    • 发布于 2018-10-12
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:12
  • 进入一次后需要清中断啊
    • 发布于2018-10-11
    • 举报
    • 评论 0
    • 0
    • 0

  • 在初始前加上asm("sim"),初始化完后加上asm("rim")就可以了
    • 发布于2018-10-11
    • 举报
    • 评论 0
    • 0
    • 0

  • 中断引脚本来就是低电平触发中断的,你拉低后,就是中断一直有效,就会一直进中断函数的。
    • 发布于2018-10-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 你这是 只进入了一次中断,并没有释放中断源
    • 发布于2018-10-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 中断标志需要自己设置清除,硬件不会主动清除
    • 发布于2018-10-14
    • 举报
    • 评论 0
    • 0
    • 0

  • 进入一次中断之后首先要清掉中断标志,不然会一直进
    • 发布于2018-10-21
    • 举报
    • 评论 0
    • 0
    • 0

  • 退出中断的时候要清除你的中断标志位,否则会一直卡在中断里面
    • 发布于2018-10-23
    • 举报
    • 评论 0
    • 0
    • 0

  • 进入中断后要先清除标志位,不然不能退出中断函数
    • 发布于2018-10-30
    • 举报
    • 评论 0
    • 0
    • 0

  • 首先你的中断服务函数需要先退出标志位,不然是会一直重复触发的。
    • 发布于2018-10-31
    • 举报
    • 评论 0
    • 0
    • 0

  • 中断退出的时候要清除你的中断标志位,不然中断不能退出
    • 发布于2018-11-12
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

STM8s103,IO口中断,上升沿触发,一直进入中断服务函