如何应对解码433遥控(ASK/OOK)空闲时IO频繁变化的问题
使用软件解码315/433遥控时,通过边沿变化中断捕捉电平变化信号,定时器统计电平变化时长。在有正常遥控信号时电平最短也有几百微秒,这时中断导致的CPU消耗勉强接受,但没有遥控信号时接收IO一直存在干扰变化电平,短的只有几十微秒,导致中断非常频繁,CPU消耗比较大。针对这种情况,请教一下大家有没有什么优化方法。另外STC的单片机能够设置最小脉宽中断吗,通过最小脉宽来过滤异常情况?这个没办法通过软件处理,必须通过硬件电路处理。一般来说,脉冲宽度检出的电路比较复杂,还不如直接使用PT2272可靠经济。 晓飛飛 发表于 2024-10-28 21:31
这个没办法通过软件处理,必须通过硬件电路处理。一般来说,脉冲宽度检出的电路比较复杂,还不如直接使用PT ...
感谢你的回复。用mcu解码就是想减少硬件复杂度,软件也灵活一些。能想到的一些思路,修改边沿中断触发条件,比如没有按键信号时只用上升沿触发,符合条件后使用上升下降沿触发;额外加一个计数器使用类似ccr比较寄存器做脉宽检测 远行的鹿 发表于 2024-10-29 09:52
感谢你的回复。用mcu解码就是想减少硬件复杂度,软件也灵活一些。能想到的一些思路,修改边沿中断触发条 ...
主要问题是发射端不工作时,接收端这边不会自动降噪,会输出杂讯干扰,而且脉冲宽度很随机,不是不能软件处理,只是代价有点大,mcu顾了这个就干不了别的事情了。 我有个思路没测试过。一般都有个同步头标识,时间约为10毫秒, 就是平时不用电平中断,只是500US定时去查接收IO电平,连续10个低电平后再开IO中断去解码。在解码程序中测到电平变化小示最小电平变化时间后关IO中断设。不知楼主有没解决问题?我这个思路楼主可以测试下!
页:
[1]