仿真过程中的中断问题

[复制链接]
2182|16
 楼主| kangzj 发表于 2012-8-26 16:07 | 显示全部楼层 |阅读模式
P1.7使用上升沿触发中断。在仿真运行时,在外部还没有加上中断信号时,会进入一次中断。每次都是这样,是不是由于仿真过程中I/O管脚有上升电平造成的?

评分

参与人数 1威望 +1 收起 理由
太阳神鸟 + 1

查看全部评分

栩栩如生 发表于 2012-8-26 16:08 | 显示全部楼层
接上拉电阻和下拉电阻呢
 楼主| kangzj 发表于 2012-8-26 16:10 | 显示全部楼层
最好能有条件的话测试一下环路,可以帮助你调试
chenjunt 发表于 2012-8-26 16:11 | 显示全部楼层
先清标志位?
yinxiangh 发表于 2012-8-26 16:17 | 显示全部楼层
直接接地或者接高电平,看看还能进中断不?
 楼主| kangzj 发表于 2012-8-26 16:17 | 显示全部楼层
通过1K电阻上拉,还能进去呀,怪了
zyf部长 发表于 2012-8-26 16:20 | 显示全部楼层
是不是程序出问题了
 楼主| kangzj 发表于 2012-8-26 16:21 | 显示全部楼层
由于有一句P1IFG |= 0x00引起的,修改为P1IFG = 0x00就可以了。
 楼主| kangzj 发表于 2012-8-26 16:24 | 显示全部楼层
P1IFG |= 0x00与P1IFG = 0x00的区别是什么?
llljh 发表于 2012-8-26 16:25 | 显示全部楼层
P1IFG |= 0x0; 这一句什么用也没有啊,寄存器内容保持不变啊。
juventus9554 发表于 2012-8-26 16:28 | 显示全部楼层
是啊,P1IFG =  0x0; 将寄存器清零。
司徒老鹰 发表于 2012-8-26 16:28 | 显示全部楼层
是有区别的
|=是读改写
=直接赋值,是不会有读操作的
chenjunt 发表于 2012-8-26 16:31 | 显示全部楼层
这些操作如果针对RAM是没有实际区别的
houcs 发表于 2012-8-26 16:32 | 显示全部楼层
对,但针对SFR可能就不一样了,具体的取决于SFR说明
 楼主| kangzj 发表于 2012-8-26 16:34 | 显示全部楼层
哦。。。知道了
 楼主| kangzj 发表于 2012-8-26 16:34 | 显示全部楼层
那就先结贴了,周末愉快
hansonhe 发表于 2012-8-26 23:05 | 显示全部楼层
楼主可以运行时候通过修改DIR标志位,从引脚输出功能切换到输入的时候也会有IFG标志位置起,
所以写代码要注意清标志,在初始化的时候就清标志。
另外如果全速仿真还是有异常的中断,可以单步执行,实时查看寄存器中标志位的的变化情况。
不用的I/O引脚尽量设置为输出为低电平,防止浮动引脚的异常干扰
您需要登录后才可以回帖 登录 | 注册

本版积分规则

672

主题

7007

帖子

2

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