智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1403|回复: 1
打印 上一主题 下一主题

为什么程序进了中断到处是问题

[复制链接]

9

主题

13

帖子

0

精华

注册会员

Rank: 2

积分
131
威望
75
贡献
32
兑换币
30
注册时间
2012-12-24
在线时间
18 小时
毕业学校
西安电子科技大学
跳转到指定楼层
1#
发表于 2013-1-8 17:14:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
为什么程序进了中断以后就不能再给引脚数据寄存器赋值了,但是可以给变量和控制寄存器赋值。

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;标志位就置位了!!!但是如果下一句再写一句清除标志位的时候退出中断后即使有中断源,也不能再进中断了!!!

16

主题

1229

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
7678

优秀会员奖章论坛元老奖章活跃会员奖章在线王奖章

QQ
威望
3484
贡献
2020
兑换币
1673
注册时间
2011-9-8
在线时间
1087 小时
2#
发表于 2013-1-8 18:18:09 | 只看该作者
IO方向呢?
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-11-6 05:01 , Processed in 0.051230 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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