使用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
被浏覽
64
0 個回答
暫無答案,快來添加答案吧

撰寫答案

請登錄後再發布答案,點擊登錄

發布
問題

分享
好友

手機
浏覽

掃碼手機浏覽