arduino - 在与 HC-05 的 Arduino 连接中,串行通信无法正常工作
问题描述
我是 Arduino 编程的新手。
这段代码工作正常。它提供了正确的输出并且运行良好。但我想自动编写命令而无需重复输入。
#include <SoftwareSerial.h>
SoftwareSerial BTSerial(10, 11); // CONNECT BT RX PIN TO ARDUINO 11 PIN | CONNECT BT TX PIN TO ARDUINO 10 PIN
void setup()
{
pinMode(9, OUTPUT); // this pin will pull the HC-05 pin 34 (key pin) HIGH to switch module to AT mode
digitalWrite(9, HIGH);
Serial.begin(38400);
Serial.println("Enter AT commands:");
BTSerial.begin(38400); // HC-05 default speed in AT command more
}
void loop()
{
if (BTSerial.available()) {
Serial.write(BTSerial.read());
}
if(Serial.available()){
BTSerial.write(Serial.read());
}
}
所以我尝试在上面的代码中进行以下更改,但我无法收到任何响应。
#include <SoftwareSerial.h>
SoftwareSerial BTSerial(10, 11); // CONNECT BT RX PIN TO ARDUINO 11 PIN | CONNECT BT TX PIN TO ARDUINO 10 PIN
void setup()
{
pinMode(9, OUTPUT); // this pin will pull the HC-05 pin 34 (key pin) HIGH to switch module to AT mode
digitalWrite(9, HIGH);
Serial.begin(38400);
Serial.println("Enter AT commands:");
BTSerial.begin(38400); // HC-05 default speed in AT command more
BTSerial.write("AT");
}
void loop()
{
if (BTSerial.available()) {
Serial.write(BTSerial.read());
}
}
我也试过BTSerial.print("AT");
了,还是没有反应。
解决方案
AT 命令区分大小写,并应以enter
击键或\r\n
.
这应该这样做:
#include <SoftwareSerial.h>
SoftwareSerial BTSerial(10, 11); // CONNECT BT RX PIN TO ARDUINO 11 PIN | CONNECT BT TX PIN TO ARDUINO 10 PIN
void setup()
{
pinMode(9, OUTPUT); // this pin will pull the HC-05 pin 34 (key pin) HIGH to switch module to AT mode
digitalWrite(9, HIGH);
Serial.begin(38400);
Serial.println("Enter AT commands:");
BTSerial.begin(38400); // HC-05 default speed in AT command more
BTSerial.write("AT\r\n");
}
void loop()
{
if (BTSerial.available()) {
Serial.write(BTSerial.read());
}
}
推荐阅读
- excel - Chrome 不会将 jsp 转换为 xlsx,但 IE 会
- visual-studio-code - 在 Raspberry Pi / Debian Linux 上运行 Visual Studio 代码:未打开
- python - 如何在 Python 中显示 Google 人脸检测 Vision API 使用的图像
- python - 如何在 Python 中制作经过验证的符号?
- python - Python:枚举txt文件中的行,后跟逗号
- c++ - C ++:char数组在发送期间丢弃一些值
- wordpress - Wordpress elementor 阻止了具有来源的框架访问跨域框架
- css - 如何将 bootsrap 5 navbar li 元素向右移动
- javascript - 如何使用带有过滤器的字符串数组的 for 循环?
- c# - 你如何处理 git 中的临时 nuget 包更新