Zitat Zitat von Mxt Beitrag anzeigen
Ich habe mir gerade mal erlaubt das hier auf dem Uno zu testen
Code:
void setup() {
  // put your setup code here, to run once:

  Serial.begin(9600);

  int a,b,c;  
  String test = "1 2 3";
  sscanf(test.c_str(), "%d %d %d",&a, &b, &c);

  Serial.print("a = ");
  Serial.println(a);
  Serial.print("b = ");
  Serial.println(b);
  Serial.print("c = ");
  Serial.println(c);
}

void loop() {
  // put your main code here, to run repeatedly:

}
ergibt auch brav


Nachteil: Der kleine Sketch belegt bereits 4780 Bytes Flash und 228 Bytes RAM.

Normalerweise nehme ich sprintf usw. nur auf dem Teensy. Da gehen aber auch C++ strings und die Konvertierungsfunktionen aus C++14.
dass das so funktioniert, ist schon klar, die Frage war, wie der OP seinen buffer string generieren soll (bei dir ist er ja fix und heißt test, also kein kontinuierlicher Serial stream).
Das Konvertieren der Einzel-Tokens zu Zahlen dann wäre das geringere Problem.
Ich hatte dazu ja \n als Trennzeichen der Gruppen vorgeschlagen - dann müsste man in Tokens aufteilen und umwandeln, wie ich ebenfalls bereits schrieb
- wie auch immer man das tun will, entweder über Arduino Funktionen oder meinetwegen auch über sscanf.
Aber ohne eindeutige Gruppen-Trennung wird das kaum zuverlässig funktionieren.