mhlz280112 发表于 2013-7-2 10:49:21

MEGA128设置外部中断0为低电平触发,求清除中断标志位方法


RT   本人使用Atmega128单片机,现设置为外部中断INT0低电平触发,我想在想用查询法查询中断是否触发,但是现在遇到一个问题就是中断标志位的问题!!!我看了下手册里面外部中断标志寄存器EIFR的说明——————

• Bits 7..0 – INTF7 - INTF0: 外部中断标志7 - 0
INT7:0引脚电平发生跳变时触发中断请求,并置位相应的中断标志 INTF7:0。如 果 SREG
的位I 以及EIMSK寄存器相应的中断使能位为’1’ ,MCU既跳转到中断例程。中断例程
执行时标志被硬件清零。此外,标志位也可以通过写入 ’1’ 的方式来清零。若 INT7:0配置
为电平触发,这些标志位总是为'0’ 。在睡眠模式下,如果中断是禁止的,则这些引脚的
输入缓冲器也是禁止的。这有可能产生逻辑电平的变化并置位INTF3:0 。更多信息请参考
P 65“数字输入使能和睡眠模式”   。

这里面关于低电平触发的画 中断标志为始终为0 ,我如果查询中断标志位的话 始终为0 貌似。。。。 很难哎。 知识不够啊!!!!!求大神现身解惑,不胜感激!!!
另外我的外部中断程序如下(不知道对否 求指教) :

      EIMSK = 0X01;//设置外部中断INT0中断请求使能
      EIFR = 0; //外部中断标志
      EICRA =0X54;//设置外部中断INT0为低电平触发 ,其他保留
      SREG = 0X80; //开总中断
页: [1]
查看完整版本: MEGA128设置外部中断0为低电平触发,求清除中断标志位方法