上升电平造成的?

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

接上拉电阻和下拉电阻呢
 楼主| wuhany 发表于 2017-5-12 22:11 | 显示全部楼层

比如对双极性电压信号转换到单极性输入的ADC,需要对输入电压加一个适当的偏置电压,抬高到正电压范围
liliang9554 发表于 2017-5-12 22:13 | 显示全部楼层
先清标志位?
zhanghqi 发表于 2017-5-12 22:15 | 显示全部楼层

直接接地或者接高电平,看看还能进中断不?
 楼主| wuhany 发表于 2017-5-12 22:18 | 显示全部楼层

通过1K电阻上拉,还能进去呀,怪了
jiahy 发表于 2017-5-12 22:23 | 显示全部楼层

是不是程序出问题了
 楼主| wuhany 发表于 2017-5-12 22:25 | 显示全部楼层

由于有一句P1IFG |= 0x00引起的,修改为P1IFG = 0x00就可以了。
 楼主| wuhany 发表于 2017-5-12 22:27 | 显示全部楼层
P1IFG |= 0x00与P1IFG = 0x00的区别是什么?
lizye 发表于 2017-5-12 22:29 | 显示全部楼层
P1IFG |= 0x0; 这一句什么用也没有啊,寄存器内容保持不变啊。
shimx 发表于 2017-5-12 22:31 | 显示全部楼层

是啊,P1IFG =  0x0; 将寄存器清零。
jiaxw 发表于 2017-5-13 21:04 | 显示全部楼层
是有区别的
|=是读改写
=直接赋值,是不会有读操作的
spark周 发表于 2017-5-13 21:06 | 显示全部楼层
这些操作如果针对RAM是没有实际区别的
liliang9554 发表于 2017-5-13 21:07 | 显示全部楼层

对,但针对SFR可能就不一样了,具体的取决于SFR说明
午夜粪车 发表于 2017-5-13 21:09 | 显示全部楼层

楼主可以运行时候通过修改DIR标志位,从引脚输出功能切换到输入的时候也会有IFG标志位置起,
所以写代码要注意清标志,在初始化的时候就清标志。
午夜粪车 发表于 2017-5-13 21:10 | 显示全部楼层


另外如果全速仿真还是有异常的中断,可以单步执行,实时查看寄存器中标志位的的变化情况。
不用的I/O引脚尽量设置为输出为低电平,防止浮动引脚的异常干扰
jiahy 发表于 2017-5-13 21:13 | 显示全部楼层

这个需要在输入信号上做下滤波处理的吧。。
shimx 发表于 2017-5-13 21:15 | 显示全部楼层

注意好电平信号的状态的,,该高就高,该低就低的。
jiaxw 发表于 2017-5-13 21:18 | 显示全部楼层

是状态不明还是?
 楼主| wuhany 发表于 2017-5-13 21:23 | 显示全部楼层
唉,还是没有什么结果,算了,先结贴吧,多谢大家啦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

879

主题

10435

帖子

4

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