打印
[AVR单片机]

mega28外部中断触发方式问题

[复制链接]
1798|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
淡然如水|  楼主 | 2011-3-26 21:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
不论我怎么设置它的触发方式,它始终都是遇到低电平就触发中断,就算输出是低电平他也触发中断,代码如下:
#include<avr/io.h>
#include<avr/interrupt.h>
#include<util/delay.h>
int main()
{
DDRD = 0Xff;
PORTD = 0Xff;
DDRB = 0XFF;
EICRA |= (1 << ISC11)|(1<< ISC01);//设置INT0下降沿中断,INT1下降沿中断
EIMSK |= (1 << INT0)|(1 << INT1);      //使能INT0,INT1
sei();          //使能全局中断
while(1)
{
  PORTB = 0xaa;
  _delay_ms(50);
  PORTB = 0x55;
  _delay_ms(50);
}
}
ISR(SIG_INTERRUPT0)   //INT0中断服务程序
{
PORTB = 0XFE;
EIFR |= (1 << INTF0);  //向INT0写一清零标志位
}
ISR(SIG_INTERRUPT1)   //INT1中断服务程序
{
PORTB = 0XBF;
EIFR |= (1 << INTF1);  //向INT1写一清零标志位
}

请大虾赐教!

相关帖子

沙发
dc42733255| | 2011-3-30 17:02 | 只看该作者
我也遇到类似问题的,我用128的,没有达电路,就是在软件上仿真,程序无论怎么跑,只有在中断0执行,望各位大侠,看一下。呵呵,自己亦可以学习一下

使用特权

评论回复
板凳
chenczy| | 2011-4-1 16:32 | 只看该作者
好像中断口要设为输入的吧

使用特权

评论回复
地板
airwill| | 2011-4-1 16:42 | 只看该作者
看不到什么问题, 是否是外部噪声的影响?
我用 M48 做, 很正常的呀

使用特权

评论回复
5
淡然如水|  楼主 | 2011-4-4 22:01 | 只看该作者
输入也设过了,还是这样,然后我写了个让灯闪的程序,结果灯居然不闪,我对这板子彻底无语了

使用特权

评论回复
6
airwill| | 2011-4-10 16:53 | 只看该作者
高低电平触发, 是肯定可以设定的.  不要随便怀疑芯片的缺陷.
你可以把其他的设置方式贴出来, 让大家看看, 另外, 是否考虑做个测试程序.
测试程序在中断服务中, 把 EICRA 的值输出到端口来.  目的是看看是否由程序的其他地方又修改了它?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

28

帖子

1

粉丝