初级会员
- 积分
- 70
- 金钱
- 70
- 注册时间
- 2021-3-15
- 在线时间
- 15 小时
|
4金钱
首先感谢大家的回帖呀~JDY-25M蓝牙mesh组网的情况:
串口调试助手需要以十六进制数发送例如:41 54 2B 4D 45 53 48(为AT+MESH的十六进制数) 00 00 02 11 0D 0A,蓝牙接收到的数据也是十六进制数,以十六进制数显示为F1 DD 05 11 11 00 02 11
问题描述如下:
STM32——PC(STM32通过串口直接连到PC端,由串口调试助手直接控制)成功
MCU端发送十六进制数,PC端接收成功;
PC端直接发送F1 DD 05 11 11 00 02 11至MCU端,MCU解析成功并执行相应的语句。
STM32——蓝牙(接收端)-------蓝牙(发送端)——PC端 不成功
此时,MCU端发送十六进制数,PC端无接收;
PC端发送41 54 2B 4D 45 53 48 00 00 02 11 0D 0A至蓝牙(发送端)传输至蓝牙(接收端)至STM32,解析不成功
发送十六进制数的代码:
printf("AT+MESH");
printf("%c%c%c%c%c\r\n",head[7],head[8],head[9],data[3]);//head[7]=0x00, head[8]=0x00, head[9]=0x02, data[3]=0x11
解析十六进制数代码:
if(uart2RxBuf[3]==0x11&&uart2RxBuf[4]==0x11&&uart2RxBuf[5]==0x00&&uart2RxBuf[6]==0x02)
{
if(uart2RxBuf[7]==0x00)
{
LED_Green_OFF();
LED_Red_OFF();
}
}
|
|