22-08-2017, 19:43
Mam problem z danymi które przychodzą do arduino (Uno R3) przez serial port. Mam funkcję która wyszukuję dany ciąg znaków i obrabia go zamieniając go w liczbę. Kiedy dodałem funkcję Serial.find() program przestał działać. Program ma za zadanie odebrać dane <D255> zamienić je w liczbę i zaświecić diodę z mocą 255.
Kod programu:
Kod programu:
Kod:
#define ledPin 9
String dane = "";
char str[6];
void setup() {
Serial.begin(9600);
pinMode(ledPin , OUTPUT);
}
void loop() {
if (Serial.available() > 0) {
if (Serial.find("<D255>")) {
dane = Serial.readStringUntil('\n');
Serial.println(dane);
dane.remove(0, 2);
Serial.println(dane);
dane.remove(3, 4);
Serial.println(dane);
dane.toCharArray(str , sizeof(str));
long liczba = atol(str);
Serial.println(liczba);
analogWrite(ledPin , liczba);
}
}
}