STM32L071/F103与EC20电话模块通信-血的教训

        EC20电话模块,可以实现打电话、发短信等功能,涉及逻辑较为繁杂,但为了控制成本,就需要通过低成本单片机来实现。

        系统通过触摸屏实现人机交互,将信息传输到电话模块。

        本文只描述现象、发生问题的根本原因与解决方案。如下图,同一条指令程序设置的方法为:发送间隔在5秒的情况属于单片机发送,实际未收到电话模块响应的情况;发送间隔在3秒的情况属于单片机发送,实际收到电话模块响应的情况。(这个结果是我们在测试第二个项目的时候想到要看的内容,方知为时有些晚了呀)

        EC20模块,在本项目经过多次验证,大概率会出现电话实际拨打出去了,但液晶屏显示界面实际未拨出的情况。多次梳理源代码,甚至已经将代码从原来的裸机版升级到FreeRtos版,以为是由于丢数引起,增加了环形缓冲区,但始终未得到解决。

        最近的第二个项目,由于我跟硬件工程师提到并强调了,手册中明确描述了,EC20模块的串口引脚为1.8V电平,单片机与模块之间通信需要增加电平转换。

由此,在第二个项目增加了电平转换电路,如下图所示。

        同样,将第一个项目的源代码复制粘贴过来,并进行了升级加工处理,项目顺利完成。

        由此,拿第二个项目的成功经验反过来分析第一个项目,问题仍然存在。这个时候,我们分析两个项目的不同之处:第一个项目单片机与EC20模块是直连的,通过示波器查看EC20模块的TX引脚,测得波形,高电平最大值为1.8V。如下图所示,通道1是单片机发出的信号,通道2是EC20模块返回的信号。

        我们通过实际行动再次印证了,电路设计需要依据数据手册来,切不可想当然。不参照数据手册,所产生的问题和所付出的代价是无法估量的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值