查看: 1681|回复: 1

[其他] 中断为什么会出现这情况

[复制链接]

该用户从未签到

4

主题

6

帖子

0

新手上路

Rank: 1

积分
27
最后登录
1970-1-1
发表于 2013-1-8 17:20:53 | 显示全部楼层 |阅读模式
为什么程序进了中断以后就不能再给引脚数据寄存器赋值了,但是可以给变量和控制寄存器赋值。

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;标志位就置位了!!!但是如果下一句再写一句清除标志位的时候退出中断后即使有中断源,也不能再进中断了!!!
我知道答案 目前已有0人回答
回复

使用道具 举报

该用户从未签到

11

主题

288

帖子

0

版主

Rank: 7Rank: 7Rank: 7

积分
610
最后登录
1970-1-1
发表于 2013-1-8 17:26:46 | 显示全部楼层

RE:中断为什么会出现这情况

PTDD的方向你设置了吗?
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-21 11:54 , Processed in 0.085481 second(s), 22 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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