[AVR单片机] avr外部中断触发方式

[复制链接]
4763|3
 楼主| zhaohualiang 发表于 2011-12-22 21:01 | 显示全部楼层 |阅读模式
最近使用atmega64外部中断,发现手册里的触发方式跟实际不一致:
使INT3读取霍尔开关的信号(已加104电容滤波),当磁铁接近霍尔开关时信号线会由高电平变为低电平。当用下降沿触发(1,0)时,实验发现磁铁接近时(下降沿)和离开时(上升沿)都会进入中断;当用上升沿触发(1,1)时,只有当磁铁离开时才进入中断。请大侠们指点一下。

下面是中断敏感电平控制
ISCn1  ISCn0       说明
0          0         INTn为低电平时产生中断请求
0          1         保留
1          0         INTn的下降沿产生异步中断请求
1          1         INTn的上升沿产生异步中断请求
arethusa_jp 发表于 2011-12-24 13:15 | 显示全部楼层
你是把INT3配置成的输入+上拉了吗?

你可以试试把INT3配置成输出,这样软件试试上升沿的时候会不会进入中断。
 楼主| zhaohualiang 发表于 2011-12-26 11:29 | 显示全部楼层
对啊,是输入+上拉。我按您说的把INT3配置成输出高电平,这样是可以的,只有下降沿进中断,但是磁铁与霍尔开关接近时液晶屏变暗,应该是电流输出过大吧。有什么解决办法吗?
还有个问题,在磁铁不靠近霍尔开关时,每次上电不管如何配置INT3都是低电平,INT3初始化后就会变成高电平并且直接进中断,只要把第一次除去也是可以的,但不知道是什么原因。
 楼主| zhaohualiang 发表于 2011-12-26 11:35 | 显示全部楼层
我也试过用低电平触发的方式,把int3配置成输入+上拉,但是进中断后必须把中断关掉,等到磁铁离开时再开中断,这样也是可以的。这样仍不能排除初始化时的误触发。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

52

主题

219

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部