远行的鹿 发表于 2024-10-22 17:20:53

如何应对解码433遥控(ASK/OOK)空闲时IO频繁变化的问题

使用软件解码315/433遥控时,通过边沿变化中断捕捉电平变化信号,定时器统计电平变化时长。在有正常遥控信号时电平最短也有几百微秒,这时中断导致的CPU消耗勉强接受,但没有遥控信号时接收IO一直存在干扰变化电平,短的只有几十微秒,导致中断非常频繁,CPU消耗比较大。针对这种情况,请教一下大家有没有什么优化方法。另外STC的单片机能够设置最小脉宽中断吗,通过最小脉宽来过滤异常情况?

晓飛飛 发表于 2024-10-28 21:31:51

这个没办法通过软件处理,必须通过硬件电路处理。一般来说,脉冲宽度检出的电路比较复杂,还不如直接使用PT2272可靠经济。

远行的鹿 发表于 2024-10-29 09:52:57

晓飛飛 发表于 2024-10-28 21:31
这个没办法通过软件处理,必须通过硬件电路处理。一般来说,脉冲宽度检出的电路比较复杂,还不如直接使用PT ...

感谢你的回复。用mcu解码就是想减少硬件复杂度,软件也灵活一些。能想到的一些思路,修改边沿中断触发条件,比如没有按键信号时只用上升沿触发,符合条件后使用上升下降沿触发;额外加一个计数器使用类似ccr比较寄存器做脉宽检测

晓飛飛 发表于 2024-10-29 11:10:31

远行的鹿 发表于 2024-10-29 09:52
感谢你的回复。用mcu解码就是想减少硬件复杂度,软件也灵活一些。能想到的一些思路,修改边沿中断触发条 ...

主要问题是发射端不工作时,接收端这边不会自动降噪,会输出杂讯干扰,而且脉冲宽度很随机,不是不能软件处理,只是代价有点大,mcu顾了这个就干不了别的事情了。
页: [1]
查看完整版本: 如何应对解码433遥控(ASK/OOK)空闲时IO频繁变化的问题