这是我在Stackoverflow上的第一篇文章,所以我希望你能回答我的问题。
我对Arduino相当新,我不小心用以下代码更改了我的HC-06蓝牙模块的波特率和名称。
#include <SoftwareSerial.h>
SoftwareSerial mySerial(3, 4); // RX, TX
void setup()
{
//Serial.begin(9600);
//Serial.begin(57600);
Serial.begin(115200);
Serial.println("Goodnight moon!");
mySerial.begin(9600);
//mySerial.begin(57600);
//mySerial.begin(115200); //if you change the baud and want to re-run this sketch, make sure this baud rate matches the new rate.
delay(1000);
mySerial.print("AT");
delay(1000);
mySerial.print("AT+VERSION");
delay(1000);
//mySerial.print("AT+PIN1234"); // Set pin to 1234 was 1342
//delay(1000);
//mySerial.print("AT+NAMEJY-MCU-HC06"); // Set the name to JY-MCU-HC06
//delay(1000);
//mySerial.print("AT+BAUD4"); // Set baudrate to 9600
//mySerial.print("AT+BAUD7"); // Set baudrate to 57600
mySerial.print("AT+BAUD8"); // Set baudrate to 115200
delay(1000);
}
void loop() // run over and over
{
if (mySerial.available())
Serial.write(mySerial.read());
if (Serial.available())
mySerial.write(Serial.read());
}
现在我无法恢复默认设置(波特率9600并命名为HC-06),我不知道如何解决这个问题。
我尝试输入串行AT命令,但没有得到回应。我还确保HC-06模块不与任何其他设备配对,但仍然没有响应。除了Arduino串行监视器之外,我还尝试了不同的源和终端,例如:
http://www.hobbyist.co.nz/?q=bluetooth-module-device
http://42bots.com/tutorials/hc-06-bluetooth-module-datasheet-and-configuration-with-arduino/
还有更多......
所以我的问题如下:我应该如何恢复我对HC-06蓝牙模块所做的更改,最好是恢复到波特率9600?
提前谢谢。
-F
答案 0 :(得分:0)
您可以尝试使用硬件串口而不是软件串口,看看是否有效吗?
注意:根据我使用带有arduino硬件序列的HC蓝牙模块的经验,为了获得正确的草图上传,你必须从Arduino拔掉HC-06的电源或tx / rx,否则它会干扰
另外,您可能想要注释掉
mySerial.print("AT+BAUD8"); // Set baudrate to 115200
并取消注释
//mySerial.print("AT+BAUD4"); // Set baudrate to 9600
当你发送命令时,你应该得到这样的东西:
来自主机控制器:
AT + BAUD3
响应
OK4800
Secondary Datasheet For Reference
在数据表上,11上有一个复位引脚。(第2页的图表)
此外,还有一个重置命令:
AT + RESET重置设备
答案 1 :(得分:0)
好吧,我觉得自己太笨了......
显然我将波特率设置为57600,而不是115200 ......所以现在我可以通过57600波特率更改波特率和名称。
好吧,在此之后我不会忘记它是如何运作的:P。谢谢大家的时间和耐心。
-F
答案 2 :(得分:0)
如果您将波特率设置为超过8(115200),则难以返回到9600或其他可用的波特率,因为计算机大部分都不会处理高频率。
尤达博士在instructables.com基于ATMEGA328P-PU(例如arduino UNO)制作的汇编技巧可能有助于伪造如此高频率的串行连接。基于他的工作,我做了这个页面来生成一个arduino脚本,可以恢复你与HC-06的AT连接。
首先阅读Yoda医生的帖子。