智能车制作

标题: 为什么程序进了中断到处是问题 [打印本页]

作者: 飞刀小李    时间: 2013-1-8 17:14
标题: 为什么程序进了中断到处是问题
为什么程序进了中断以后就不能再给引脚数据寄存器赋值了,但是可以给变量和控制寄存器赋值。

interrupt VectorNumber_Vkeyboard2 void kbi2()
{
//    KBI2SC_KBACK=1;//清除外部中断标志位
//    kbi_value = PTGD;//读取按键值
    KBI2PE =0;
    KBI2SC =0X04;
    KBI2SC_KBACK=1;//清除外部中断标志位
    KBI2SC_KBACK=1;//清除外部中断标志位
    asm (nop);asm (nop);
    asm (nop);asm (nop);
     numk++;
    if(numk%2)
    {
         
      PTDD_PTDD0 =0;

    }
    else
    {                  
         PTDD_PTDD0 =1;
  

    }
    if(numk==2000)
        numk=0;
    KBI2PE =0X80;//PTc7检测速度、允许引脚中断
    KBI2SC =0X02;//边沿检测
}

引脚PTDD_PTDD0的值一直是0,根本就不能赋值!!!还有中断中到了倒数第二句的时候,还没执行之前中断标志位是0,但是一旦执行了 KBI2PE =0X80;标志位就置位了!!!但是如果下一句再写一句清除标志位的时候退出中断后即使有中断源,也不能再进中断了!!!

作者: ganlei    时间: 2013-1-8 18:18
IO方向呢?




欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2