我编译了AT固件,开启了经典蓝牙。
进行了测试。
测试1:目的是验证是否开启成功。具体步骤如下:用ch340模块连接txd2和rxd2,打开串口助手,发送AT回车换行,返回AT换行以及OK;有返回OK,应该说明烧录成功,然后用蓝牙连接了手机,可以正常收发数据字符串等;
说明烧录成功了。
然后进行测试2,测试2有问题了。具体如下。
51通过串口和ESP32连接(作为蓝牙模块)。。。。。。。。。。手机蓝牙;
我将ESP32当作蓝牙模块,将51单片机的串口连接ESP32的TX2和RX2,用51单片机的串口发送字符串函数,给ESP32发送AT,返回的是AT,但是没有OK。发送其他指令也是没返回Ok,
比如发送 AT+BTINIT=1 ,返回AT而没有OK。
但是经过一系列发送指令,也能和手机的蓝牙连接,连接之后,用手机蓝牙助手,发送字符给ESP32蓝牙模块,单片机收到的字符之后打印出来,发现和发送的不一样,接收到的都是+B。。
如果手机发送了xxxxxxP,前面需要先发6个字符,后面P或者其他字符才是有效字符,之后,单片机收到的是+BP空空。
uart3 rec = +
uart3 rec = B
uart3 rec = P
uart3 rec =
uart3 rec =
请问为什么直接用CH340模块连接ESP32可以正常蓝牙通信,单片机接ESP32,和手机蓝牙连接,却不能正常呢?
谢谢。
ESP32-AT开启经典蓝牙作为蓝牙模块,和MCU连接,发送AT之后,返回值不是OK的问题。
Moderator: ESP_XCGuang
Re: ESP32-AT开启经典蓝牙作为蓝牙模块,和MCU连接,发送AT之后,返回值不是OK的问题。
或许您可以把 ESP32 的 TX 和 RX 接在单片机的同时也接在 CH340模块上,打开串口工具,看下 ESP32 接收和发送数据是否有问题,这个可以排查是单片机问题还是 ESP32 问题。
Who is online
Users browsing this forum: No registered users and 76 guests