2.4G无线芯片连续两个信号中的第二个无法发出

今日测试一款2.4G无线芯片YXW6553E-YX-2.4G-7T-TX,用于控制远端电机。先是写了一段循环测试代码,间隔正转反转,跑起来没问题。

然后将它封装为两个函数up()down(),在业务代码中每次执行一次down()后间隔5s,然后再执行up()。结果发现up()始终无法将信号发出。使用逻辑分析仪检查GPIO已经正确发出脉冲,从芯片引脚测试也能测到正确的电平变化。百思不得其解,原厂的人也不知道原因。
业务代码:

down()
time.sleep(0.25)
stop()
time.sleep(5)
up()
time.sleep(0.25)
stop()

抓到波形是正常的:
在这里插入图片描述

经过几乎一天的折腾,期间尝试将脉冲时间改为1s,问题依旧。然后尝试交换两个函数up()down()的顺序,发现变为down()无法执行。然后思考良久,觉得这两个函数之间唯一的变量就是延时,检查代码发现测试的代码延时与最终业务代码延时不同。于是尝试修改两个函数之间的延时为4s,结果就正常了!尝试改为4.5s也正常!真是诡异!

然后我换了一另外一款MCU开发板做了同样的事情,延时5s又是正常的。所以问题根本原因到底是为了什么,尚未找到。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值