注册 登录
查看: 465|回复: 3

[平衡组] KL26的外部中断问题   急求

[复制链接]
发表于 2014-5-27 20:20:11 | 显示全部楼层 |阅读模式
就是我初始化时这样的:
port_init (PTC1, IRQ_FALLING | PF |  PULLDOWN );
    port_init (PTC3, IRQ_FALLING | PF | APULLDOWN );
    port_init (PTC4, IRQ_FALLING | PF |  PULLDOWN );
    port_init (PTC6, IRQ_FALLING | PF |  PULLDOWN );
    port_init (PTC8, IRQ_FALLING | PF |  PULLDOWN );
    port_init (PTC10, IRQ_FALLING | PF |  PULLDOWN );

void PORTC_PORTD_IRQHandler()
{ uint8  n = 0;         //引脚号
    n = 1;
   if(PORTC_ISFR & (1 << n))           //PTC1触发行中断
    {   
      PORTC_ISFR  |= (1 << n);        //写1清中断标志位
         p_Key=1;
    }

    n = 3;
   if(PORTC_ISFR & (1 << n))           //PTC3触发行中断
    {  
      PORTC_ISFR  |= (1 << n);        //写1清中断标志位
         p_Key=3;
    }

   n = 4;
   if(PORTC_ISFR & (1 << n))           //PTC4触发行中断
    {
      PORTC_ISFR  |= (1 << n);        //写1清中断标志位
         p_Key=4;
    }

   n = 6;
   if(PORTC_ISFR & (1 << n))           //PTC6触发行中断
    {  
      PORTC_ISFR  |= (1 << n);        //写1清中断标志位
         p_Key=6;
    }

   n = 8;
   if(PORTC_ISFR & (1 << n))           //PTC8触发行中断
    {  
      PORTC_ISFR  |= (1 << n);        //写1清中断标志位
         p_Key=8;
    }

   n = 10;
   if(PORTC_ISFR & (1 << n))           //PTC10触发行中断
    {  
      PORTC_ISFR  |= (1 << n);        //写1清中断标志位
         p_Key=10;
    }  
}

这样为什么  外部中断不能用啊  求大神解决啊 !!!
回复

使用道具 举报

 楼主| 发表于 2014-5-27 20:32:43 | 显示全部楼层
山外哥  求助啊
回复 支持 反对

使用道具 举报

发表于 2014-5-27 21:39:37 | 显示全部楼层
为什么不能用?
回复 支持 反对

使用道具 举报

发表于 2014-5-27 21:40:28 | 显示全部楼层
清中断标志位,改成:
PORTC_ISFR  = (1 << n);        //写1清中断标志位
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回列表 返回顶部