我正在尝试通过MacOS设备上的HM-10模块(BLE)向Arduino发送数据,并遵循此guide。对于我的布线,我做了以下操作:我将HM-10上的RX引脚连接到Arduino上的TX; HM-10上的TX引脚到Arduino上的RX; HM-10上的VCC到Arduino上的3.3V; HM-10上的GND连接到Arduino上的GND。
我使用以下代码:
#include <SoftwareSerial.h>
SoftwareSerial BTSerial(0, 1); //RX|TX
void setup(){
Serial.begin(9600);
BTSerial.begin(9600); // default baud rate
Serial.println("AT commands: ");
}
void loop(){
//Read from the HM-10 and print in Serial Moniter
if(BTSerial.available()) {
Serial.write(BTSerial.read());
}
//Read from the Serial Moniter and print to the HM-10
if(Serial.available()) {
BTSerial.write(Serial.read());
}
}
当我发送AT+NAME?
时,我应该收到OK+NAME:HMSoft
,但我会继续收到一串奇怪的字符:AV⸮5⸮
。此外,这些命令似乎都没有任何效果。
我无法通过计算机与HM-10进行交互,我做错了什么?
答案 0 :(得分:1)
SoftwareSerial BTSerial(0, 1); //RX|TX
您正在将硬件串行引脚用于软件序列。然后你使用两者,这会破坏数据。
将软件串行引脚移动到不同的引脚,如2和3。