记录傻逼的一天

6 篇文章 0 订阅
1 篇文章 0 订阅

2022.4.12 记录自己傻逼的一天

今天下午把一个困扰我还几天的问题解决了,这个问题严重影响后续的工作进行。具体是串口+DMA的方式给4G模组发送数据,模组不回的问题。到最后发现是自己傻逼的问题,好傻逼,是自己串口配置错了,本没有奇偶校验,我配置了奇偶校验,而模组的串口默认没有配置的。

误区1:以为串口奇偶校验是为了保障数据的准确性,不晓得通信双方都需要保持一致的配置

误区2:没有弄清楚模组串口的具体配置

误区3:可以收发数据,不一定是正确的数据

问题解决过程

做研发最怕什么?——“怕找到不到问题的根本原因”。解决问题:1.分析问题 2.找出问题根本原因 3.设计解决方案。我上周六在家调了一天,每个配置对照着寄存器说明去配置,结果还是不行。
今天下午,在一个工程师的指导下,我们俩去解决这个问题。起初的我,笃定是硬件的问题,为了找出硬件的问题,我把一个个电阻电容全拆了,在MCU串口端引出TTL线接到串口助手收发数据,结果是可以正常接收发送数据。由此得出,串口+DMA的方式没问题。拆去电压转换电路,引出模组串口的TXD RXD引线到TTL转1.8V给模组收发数据,模组正常收发数据。模组没问题。好,焊回元器件,测试,照样不回数据。万用表测每个IO线路的通断,通没问题。在串口转换电路三极管出引出引线接到示波器看,可以看到我周期发送的AT指令数据。接收端看不到数据。请问问题出在哪?结论——硬件通路到MCU有问题。

自我反思:

串口可以正常收发数据,“数据”不一定是正确的数据,不一定是模组可以识别的数据,软件没问题不代表软件是正确的。思维死区,什么问题找不到?自己认为正确的问题,永远找不到。就这样在另个工程师的指导下,去看代码,果然是串口奇偶检验错了,应该无奇偶校验。基础知识不熟悉,对串口奇偶检验的本质和意义理解错误。

反省

这个问题虽然是我很傻逼的操作,熟话说走的每一步错都是在积累自己。我学到了如何去解决调试过程中的问题,排除法,隔离法,独立法,保持环境一致,保持其他功能正常,去测有问题的地方。这些东西无法言语,只能领会。
就是想记录自己傻逼的操作,这个问题花了一周多的时间,这个弯路走的太长了。小白工程师,跌跌撞撞做研发。
不过很好,问题解决了,模组可以正常收发回复报文,明天测试功能报文!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值