[AVR单片机] 进入外部中断后如何开起上升沿与下降沿转换

[复制链接]
2906|6
 楼主| zhprotel 发表于 2013-5-24 08:41 | 显示全部楼层 |阅读模式
用的ATTINY24,以下进入中断后是否是这样转换的?另外有个问题在初始上电不清楚是什么状就设的低电平进入中断对不?但每次进入中断后MCUCR的值都是0X00,无法进入swith语句,我的目的是计算低电平时间,T0计时#pragma interrupt_handler int0_isr:iv_INT0
void int0_isr(void)
{
   switch(MCUCR)      //
   {
          case 0x03:MCUCR=(0<<ISC00)|(1<<ISC01);//在上升沿中改成下降沿
                TIMSK0=0X00;
                break;
      case 0x02:MCUCR=(1<<ISC00)|(1<<ISC01); //在下降沿中开起INT0上升沿触发中断
TIMSK0=0X01;               //下降沿开起timer0计时低电平时间
                 break;
}
zwp0822 发表于 2013-5-24 09:25 | 显示全部楼层
没用过AVR,
不过看你的程序,你少了一个花括号!

huangxz 发表于 2013-5-24 11:53 | 显示全部楼层
根据当前电平来判断比较好
 楼主| zhprotel 发表于 2013-5-24 17:52 | 显示全部楼层
huangxz 发表于 2013-5-24 11:53
根据当前电平来判断比较好

上电有可能是高电平,有可能是低,但我要的低,初始化是否设置下降沿中断
huangxz 发表于 2013-5-24 19:02 | 显示全部楼层
zhprotel 发表于 2013-5-24 17:52
上电有可能是高电平,有可能是低,但我要的低,初始化是否设置下降沿中断 ...

你要是不确定,那就先读一次端口状态再设置沿属性啊
 楼主| zhprotel 发表于 2013-5-24 22:31 | 显示全部楼层
huangxz 发表于 2013-5-24 19:02
你要是不确定,那就先读一次端口状态再设置沿属性啊

呵呵,想法不错
qin552011373 发表于 2013-5-27 06:50 | 显示全部楼层
没赶上散分啊  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

61

帖子

1

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