2017-09-30 104 views
0

我有一個問題,我一直在努力一段時間。我有一個Arduino Uno板卡和一個帶TTL輸出的HC-05藍牙收發器。Arduino打印整數而不是字符串

的連接如下:

HC-05    Arduino UNO 
-----    ----------- 
RX  -->  Pin 11 
TX  -->  Pin 10 
+5v  -->  +5v 
GND  -->  GND 

的代碼如下:

#include <SoftwareSerial.h> 
SoftwareSerial BTSerial(10, 11); // RX | TX 
String character; 

void setup() { 
    Serial.begin(9600); 
    pinMode(10, INPUT); 
    pinMode(11, OUTPUT); 
    digitalWrite(11, HIGH); 
    Serial.println("Enter AT commands:"); 
    BTSerial.begin(38400); // HC-05 default speed in AT command more 
    BTSerial.println("Welcome to ARBA-Beat"); 
} 

void loop() { 
    // Keep reading from HC-05 and send to Arduino Serial Monitor 
    if (BTSerial.available()) { 
    character = BTSerial.read(); 
    Serial.println(character); 
    //BTSerial.write(character); 
    BTSerial.flush(); 
    } 
} 

我使用Bluetooth terminal app for Android傳輸消息到Arduino。

問題是我得到整數而不是字符串。

字符串:Arduino是偉大

enter image description here

我不知道發生了什麼happeninng。

任何幫助表示讚賞。

謝謝。

+0

使用char作爲字符類型而不是String和Serial.write()。 –

+0

@ ctrl-d我試過了你建議的解決方案。現在我正在獲取垃圾值(類似於 - >⸮⸮⸮) –

+0

您是否看到「Welcome to ARBA-Beat」? –

回答

0

請勿使用String並使用char類型。

char c= BTSerial.read(); 
Serial.write(c); Serial.write('\n'); 
相關問題