• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

向编程高手们请教一个问题

我有一个信号是靠另外一个基准信号的下降沿来触发的,但现在这个基准信号有些小的毛刺常会导致误触发.在硬件上试了一些方法,没有还好消除这些小毛刺,所以我想问一下在程序(用C编)上是不是有什么方法可以防止这些一干扰呢?或者说改变触发方式?
全部回复(8)
正序查看
倒序查看
yangychun
LV.2
2
2007-01-23 12:22
毛刺的宽度大吗?如果不太大的话可以用软件消除呀.
0
回复
xjlwp
LV.3
3
2007-01-23 12:25
@yangychun
毛刺的宽度大吗?如果不太大的话可以用软件消除呀.
很小的,从示波器上看就是一根根线,请问如何消除啊,还请多多指点啊!
0
回复
yangychun
LV.2
4
2007-01-23 12:34
@xjlwp
很小的,从示波器上看就是一根根线,请问如何消除啊,还请多多指点啊!
每次中断后,延时一段时间(你要消除毛刺的最大宽度,如20US),再检测输入口的状态
0
回复
xjlwp
LV.3
5
2007-01-23 12:49
@yangychun
每次中断后,延时一段时间(你要消除毛刺的最大宽度,如20US),再检测输入口的状态
十分感谢你的回复.我这样理解对不对,当检测到一个下降沿时,先不触发,延时一定的时间后检测信号是低电平还是高电平,如果是高电平我就不触发,如果是低电平就触发.
0
回复
yangychun
LV.2
6
2007-01-23 12:55
@xjlwp
十分感谢你的回复.我这样理解对不对,当检测到一个下降沿时,先不触发,延时一定的时间后检测信号是低电平还是高电平,如果是高电平我就不触发,如果是低电平就触发.
是这样的
0
回复
xjlwp
LV.3
7
2007-01-23 14:10
@yangychun
是这样的
谢谢!我试一下
0
回复
sdjufeng
LV.6
8
2007-01-24 13:21
@xjlwp
十分感谢你的回复.我这样理解对不对,当检测到一个下降沿时,先不触发,延时一定的时间后检测信号是低电平还是高电平,如果是高电平我就不触发,如果是低电平就触发.
这个办法也不一定可靠,比如在低电平上出现一个正的针,怎么办?
针对这种情况,最好的办法还是从硬件电路着手,比如滤波等.
0
回复
njyd
LV.8
9
2007-01-29 15:12
  要么就用纯软件检测下降沿,不用中断.
  连续几个高电平后再得到连续几个低电平就认为有下降沿.
0
回复