Um mein Arduino UNO + Sparkfun Bluetooth Mate Gold zu testen, habe ich diese kleine Skizze geschrieben;
#include <SoftwareSerial.h>
SoftwareSerial softwareSerial(8, 9);
void setup() {
softwareSerial.begin(115200);
softwareSerial.println("Bluetooth Ready.");
softwareSerial.println("Waiting...");
delay(1000);
}
void loop() {
int readByte;
int bytes[10];
int i = 0;
boolean readSomething = false;
softwareSerial.listen();
long l = millis();
while (millis() - l < 1000) {
while (softwareSerial.available() > 0) {
readByte = softwareSerial.read();
bytes[i] = readByte;
i++;
readSomething = true;
}
}
if (readSomething == true) {
delay(20);
readSomething = false;
for (int c = 0; c < i; c++) {
softwareSerial.print(bytes[c]);
softwareSerial.println(" ");
bytes[c] = 0;
}
i = 0;
}
}
Jetzt verbinde ich mich über Bluetooth über ein Terminal und sende eine Zeichenfolge an Arduino, die zurückgeschrieben wird.
Wenn ich zum Beispiel eine Zeichenfolge von '11111' sende, möchte ich etwas Konsistentes zurück - das Problem ist, dass ich etwas bekomme, das nicht konsistent ist!
Wenn Ihr Problem nur in Zeichen besteht, die Sie zurückerhalten, verwenden Sie einfach char [] array anstelle von int, z
Zeichenbytes [10];
Jetzt erhalten Sie dieselben Daten zurück.
Hoffentlich löst es Ihr Problem
David Tweed
Herr Danois
David Tweed
Herr Danois
David Tweed
Herr Danois
David Tweed
Herr Danois
David Tweed
David Tweed
Herr Danois
David Tweed
Herr Danois
David Tweed
Herr Danois