使用 w801 与 4G 通信, 通过串口 1 给 4G 芯片发送 AT 指令, 接收到的数据是^boot rom 并且死机.

发布于 2025-02-22 14: 01: 45

主控: w801 4g 使用的是移远的 EC801
我给 4G 模块测试单条 AT 指令是能够正确返回的, 但是将我以前用 stm32 与 4G 通信的项目移植过来, 并且接收数据的代码时按照测试成功的代码写的, 下面是测试成功的代码, 实现的是: 我给 4G 模块每间隔 500tick 发送 AT+CSQ 指令, 我用面代码测试 4G 模块, 如果接收到的数据里面有" OK" 就将接收到的数据打印出来, 这个测试是成功的
image. png
image. png
image. png
成功的返回数据如下
image. png
但是我修改上述代码中接收的部分, 修改如下图, 这个代码中的 rx_flag 也是和上面的代码一样在回调函数中置 1, 两个代码的初始化, 以及回调函数都是一模一样的, 这个代码实现的是如果接收到的是 AT 指令所对应的正确的返回, 就返回 1, 否则就返回 0, 但是我代码每一次运行到这块都会死机, 并且打印的结果是: RX_Cmd: ^boot rom
代码截图如下
image. png
打印截图如下: 其中 RDY 和 OK 是应有的返回数据
image. png

最新发现: 我用串口助手模拟 4G 给 w801 回复数据, 我一回复就死机.

最新最新发现: 我给这个函数里套上一个死循环又好了, 至少能进这个接收函数而不会死机了image. png
image. png
这是为什么呢

查看更多

关注者
0
被浏览
56
0 个回答
暂无答案, 快来添加答案吧

撰写答案

请登录后再发布答案, 点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览