w801串口與RCWL-1633超聲波測距模塊通信問題

發布於 2025-02-14 15:29:03

問題描述:
代碼如下圖:
image.png
image.png

我要使用一個超聲波測距模塊與w801通信,通過uart3給超聲波模塊發送一字節0xA0就可以通過uart3返回所測距離,返回的是三個hex的數據
代碼裡面實現的是:每間隔2s通過uart3口發送一個hex:0XA0 ; 分別用字符串的形式和hex的形式printf打印從uart3接收到的數據。

問題背景:
1.使用串口助手與MCU通信正常,如下圖:
image.png

2.我使用串口助手與超聲波模塊通信,超聲波模塊也正常返回,如下圖:
image.png

但是我直接將模塊與mcu主板連接調試窗口就會打印以下的字樣:
image.png

我通過assert提示進入相關的代碼:1470行是freertos獲取隊列信號量的函數
1160行是freertos xqueuegivefromisr 函數中的斷言

如果我把信號量相關的代碼給屏蔽掉,使用純裸機串口跑,發現會一直進入接收回調函數(即使沒有數據發送給mcu),如下圖
image.png

想問各位大佬該如何解決呢

查看更多

關注者
0
被浏覽
176
isme
isme 認證專家 2025-02-14
冰鎮大西瓜

這個錯誤提示,大概可能是任務在消息隊列沒有創建,或者消息隊列被創建之前就有程序調用了消息隊列發送或接收相關api。

2 個回答
yangxiaolin1
yangxiaolin1 5天前
這家夥很懶,什麼也沒寫!

@isme 老師,我還是沒解決這個問題,您知道是什麼原因嗎,明明沒有給串口發送數據,但是它還是一直進入回調

撰寫答案

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

發布
問題

分享
好友

手機
浏覽

掃碼手機浏覽