使用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
被浏览
48
0 个回答
暂无答案,快来添加答案吧

撰写答案

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

发布
问题

分享
好友

手机
浏览

扫码手机浏览