Ich bin relativ neu in Sachen Arduino, LED bekomme ich soweit zum leuchten und blinken,
Jetzt nehme ich eine etwas größere Herausforderung an:
Ich bekomme Seriell einen Wert wie z.B 29.33,30.78,1003.52
dies will ich gerne aufteilen in z.B
Temp = 29.33
Feuchte = 33.30
Druck = 1003.52
und diese Werte will ich dann auch weiterverarbeiten, aber wie bekomme ich das hin ?
habe schon sehr vieles über atof, atoi, sscanf gelesen, bringe es aber einfach nicht hin,
kann mir jemand etwas unter die arme greifen ?
In function 'void receivedCallback(const uint32_t&, const String&)':
Temp_Sensor error: invalid conversion from 'const char*' to 'char' [-fpermissive]
char string = msg.c_str();
^
Temp_Sensor: error: invalid conversion from 'char' to 'char*' [-fpermissive]
ptr = strtok(string, delimiter);
Bin mir dessen bewusst das es für den Anfang vielleicht etwas gewagt ist, aber es hilft mir ungemein viel mich mit den unterschiedlichen Werten zu beschäftigen
Totaler Unsinn. c_str() liefert einen const Zeiger auf das interne Array. Keinen char. Aber auch mit char* geht das nicht mit strtok(), weil strtok() die Zeichenkette selbst verändert (was mit ein const Zeiger natürlich nicht erlaubt)
Vergiss die String Klasse und verwende von Anfang an nur Null-terminierte char Arrays
Ich habe das ganze jetzt etwas umgeschrieben, sodass ich keine kommagetrennte werte habe,
Ich bekomme jetzt die werte Zeilenweise geschickt, jeweils mit vorangestellter "Einheit"
T Temp
H Feuchte
P Druck