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
被浏览
164
isme
isme 认证专家 2025-02-14
冰镇大西瓜

这个错误提示,大概可能是任务在消息队列没有创建,或者消息队列被创建之前就有程序调用了消息队列发送或接收相关api。

2 个回答
yangxiaolin1
yangxiaolin1 4天前
这家伙很懒,什么也没写!

@isme 老师,我还是没解决这个问题,您知道是什么原因吗,明明没有给串口发送数据,但是它还是一直进入回调

撰写答案

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

发布
问题

分享
好友

手机
浏览

扫码手机浏览