P2IFG的对应位总是置位

[复制链接]
978|14
 楼主| dengdc 发表于 2016-6-28 20:18 | 显示全部楼层 |阅读模式
我写代码将P2IFG=0x00;但是调试的时候,我在P2.0外接60HZ的方波,P2IFG的对应位总是置位,甚至只接一根杜邦线(不解任何电信号)悬空,P2IFG的对应位都会置位。请问这是什么原因?
zhaoxqi 发表于 2016-6-28 20:18 | 显示全部楼层
一般需要按照PxIES——>PxIE——>PxIFG的顺序去初始化

其次就是关于PxIFG是需要软清零的或者通过读取PxIV寄存器之后自动清零,在中断里面清零了吗?
zhenykun 发表于 2016-6-28 20:19 | 显示全部楼层
我也在这块,中断标志位清不了.正在找原因.步骤和楼主类似, 为什么..................
wyjie 发表于 2016-6-28 20:19 | 显示全部楼层

P2中断中需要清除中断标志位,楼主可以检查下有没有清除掉 。
yszong 发表于 2016-6-28 20:19 | 显示全部楼层

如果向P2OUT或P2DIR寄存器写值,也可能引发中断。
heweibig 发表于 2016-6-28 20:19 | 显示全部楼层
查检配置和程序 用外部中断的时候 要注意抗干扰的问题
wuhany 发表于 2016-6-28 20:19 | 显示全部楼层
作为输入,调试时也不应悬空,应该给个确定的上下拉状态。
lizye 发表于 2016-6-28 20:20 | 显示全部楼层
置位是是置高电平,还是低电平???
jiaxw 发表于 2016-6-28 20:20 | 显示全部楼层

1.确定中断初使化正确了
2.既然设置了中断脚,就不要让它悬空,如果是低有效,则上拉,高有效,则下拉。
3.程序Reset后的第一次可能是有这个中断,之后就应该没有了,实验,在清除中断标志后,加一条空语句NOP();断点设置在空语句上。
jiajs 发表于 2016-6-28 20:20 | 显示全部楼层
MSP430PxIFG的置位,是和PxIE是否置位没有关系的。很多人刚开始使用430时一直以为,若IE相应位没有置位,那IFG的相应位应该也不会置位。但实际上,即使IE没有设置,若在相应的引脚上有电平变化,IFG还是会置相应的位,只是因为IE没有置高,不会发生中断罢了。
liliang9554 发表于 2016-6-28 20:20 | 显示全部楼层

2楼所说的P口寄存器配置顺序,我有一点不同的建议。建议把IFG的清零和IES的配置放在IE以前,否则就可能发生这样的情况
yszong 发表于 2016-6-28 20:20 | 显示全部楼层

IE完成置位后,而IFG不为0,则马上响应了一个P口的中断。
jlyuan 发表于 2016-6-28 20:21 | 显示全部楼层

软件清除标志位的
wyjie 发表于 2016-6-28 20:21 | 显示全部楼层
怎么中断的方式呢?
 楼主| dengdc 发表于 2016-6-28 20:23 | 显示全部楼层
嗯,先结贴了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

892

主题

13885

帖子

7

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