尝试一个月还没解决的bug,请教大家

[复制链接]
1190|8
 楼主| morbid 发表于 2022-3-5 12:32 | 显示全部楼层 |阅读模式
请假大家,其实我也没找到原因,只能阐述一个现象:4G模块在接收到我的指令之后会回复一个"\r\nOK\r\n",但是芯片接收到之后就变成了"\r\nOK\r□",最明显的现象就是这个’\n‘变成了'□'导致程序运行故障。我一直怀疑是内存访问故障,但就是没定位出来
 楼主| morbid 发表于 2022-3-5 12:36 | 显示全部楼层
参考点:4G模块没问题,这个回复是进入芯片之后发生变化导致的故障,所以应该是芯片的问题,估计是内存访问不合理等等原因
yonghuixi 发表于 2022-3-5 12:47 来自手机 | 显示全部楼层
这个找个示波器看看波形比较靠谱,是不是波形不好。如果波形没问题再代码的问题。一般mcu可以单步跟吧,跟跟看看
LcwSwust 发表于 2022-3-5 13:23 | 显示全部楼层
对,看波形,或把返回数据用USB转TTL模块发送到电脑的串口调试助手看。
再看看HEX数据。
laocuo1142 发表于 2022-3-6 11:09 | 显示全部楼层
这个回应没必要太纠结吧,到OK就行了
cool_coder 发表于 2022-3-6 15:30 | 显示全部楼层
这应该是缺少了一个字节吧?收发有缓冲的时候容易出这种问题。不要缓冲器空了就认为全部结束了。
linxi6414 发表于 2022-3-6 22:41 | 显示全部楼层
论逻辑分析仪的重要性。
 楼主| morbid 发表于 2022-3-7 10:20 | 显示全部楼层
以字符的形式打印 0x01,就可以得到这个方块
天意无罪 发表于 2022-3-8 09:21 | 显示全部楼层
光说不知道其所以然,建议把代码贴上来让大家看看,这种情况只要确定硬件没问题,那多半就是软件处理的问题了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

37

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部
0