Bluetooth 通过HC-05(蓝牙)传输Arduino数据
平台:Arduino UNO,Arduino Mega2560,HC-05 此处显示了详细信息。 在Arduino UNO(Master)中,我编码Bluetooth 通过HC-05(蓝牙)传输Arduino数据,bluetooth,arduino,hc-05,Bluetooth,Arduino,Hc 05,平台:Arduino UNO,Arduino Mega2560,HC-05 此处显示了详细信息。 在Arduino UNO(Master)中,我编码 Serial.print(“A123445;”); 在Arduino Mega2560(从机)中,我编码 void setup() { //连接到电脑 Serial.begin(9600); //连接到Arduino UNO(通过蓝牙) Serial1.begin(38400); } void循环() { //其值大于0 Serial.prin
Serial.print(“A123445;”);
在Arduino Mega2560(从机)中,我编码
void setup()
{
//连接到电脑
Serial.begin(9600);
//连接到Arduino UNO(通过蓝牙)
Serial1.begin(38400);
}
void循环()
{
//其值大于0
Serial.println(Serial1.available());
//产出:128或248
Serial.print(Serial1.read());
延迟(1000);
}
Serial.available()>0
的值为true,
但是Serial.print(Serial1.read())的打印结果代码>异常。它打印
我想知道原因和解决方法。谢谢 我假设您已确保两个蓝牙设备连接正确,波特率匹配。
现在,一个问题可能是缓冲区可能已满。在发送方,提供等于或略高于接收方延迟的延迟。
接下来,在接收器端,将void loop更改为:
void loop(){
if(Serial1.avaialable() > 0){
char value = Serial1.read();
Serial.println(value);
delay(1000);
}
}
新行字符来自哪里?你不能把它们印在大屏幕上。你每秒只读取一个字节。你怎么寄的?快多了?看来你的接收缓冲区总是快满了。哦,我忘了……对不起。