使用蓝牙发送字符或字符串而不是 ASCII 码
Sending Character or String instead of ASCII code with Bluetooth
我正在编写一个应用程序,使用 HC-05 蓝牙模块将一串字符发送到 Arduino。
我的问题是我只能将其作为 ascii 字节发送,例如这是我的发送方法:
private void sendData()
{
if (!(btOutputStream == null)){
try {
btOutputStream.write("Hello".getBytes());
ToastMaker("Data is sent");
} catch (IOException e) {
e.printStackTrace();
}
}
}
这是 Arduino 串行监视器的输出:
https://i.stack.imgur.com/88l5w.png
这是Arduino的代码:
#include <SoftwareSerial.h>
SoftwareSerial Bluetooth(10, 9); // RX, TX
int Data; // the data received
void setup() {
Bluetooth.begin(9600);
Serial.begin(9600);
Serial.println("Waiting for command...");
}
void loop() {
if (Bluetooth.available()){ //wait for data received
Data=Bluetooth.read();
Bluetooth.println(Data);
Serial.println(Data);
}
delay(100);
}
总而言之,我正在寻找一种方法来获取接收到的数据(例如 Hello),如下所示:
H
电子
升
升
o
而不是这个:
72
101
108
108
111
可以在Arduino上使用char()
方法将ascii码转成字符:
char character;
...
character = char(Data);
有关详细信息,请参阅 the documentation。
我正在编写一个应用程序,使用 HC-05 蓝牙模块将一串字符发送到 Arduino。
我的问题是我只能将其作为 ascii 字节发送,例如这是我的发送方法:
private void sendData()
{
if (!(btOutputStream == null)){
try {
btOutputStream.write("Hello".getBytes());
ToastMaker("Data is sent");
} catch (IOException e) {
e.printStackTrace();
}
}
}
这是 Arduino 串行监视器的输出:
https://i.stack.imgur.com/88l5w.png
这是Arduino的代码:
#include <SoftwareSerial.h>
SoftwareSerial Bluetooth(10, 9); // RX, TX
int Data; // the data received
void setup() {
Bluetooth.begin(9600);
Serial.begin(9600);
Serial.println("Waiting for command...");
}
void loop() {
if (Bluetooth.available()){ //wait for data received
Data=Bluetooth.read();
Bluetooth.println(Data);
Serial.println(Data);
}
delay(100);
}
总而言之,我正在寻找一种方法来获取接收到的数据(例如 Hello),如下所示: H 电子 升 升 o
而不是这个: 72 101 108 108 111
可以在Arduino上使用char()
方法将ascii码转成字符:
char character;
...
character = char(Data);
有关详细信息,请参阅 the documentation。