Hallo,
ich stehe gerade auf dem Schlauch.
Ich möchte mittels sscanf einen Sring bzw. Array in Variablen aufteilen.
Die Variablen in die aufgeteilt werden soll, sind global und schon 
vorgegeben.
Beispiel:
1  | ...
  | 
2  | //Globale Variable:
  | 
3  | uint8_t Anzahl;
  | 
4  | uint8_t Maximum;
  | 
5  | uint8_t Textfeld[]="101 312";
  | 
6  | ...
  | 
7  | //dann hier die Funktion mit dem sscanf (globale Variablen sind über extern eingebunden)
  | 
8  | sscanf(Textfeld,"%u %u",&Anzahl,&Maximum);
  | 
Problem: sscanf erwartet ja für %u ein unsigned int (also 2 Byte).
Wie bekomme ich nun am besten direkt den Wert in uint8_t?
Ich habe folgendes probiert (was allerdins auch nicht klappt):
sscanf(Textfeld,"%u %u",(uint8_t)&Anzahl,(uint8_t)&Maximum);
Das Textfeld ist in Wirklichkeit viel länger und ich teile etliche 
Variablen auf (auch uint16_t und int16_t). Wenn ich die Warnings des 
Compilers einfach ignoriere, passen manche Werte nicht, da mir ein Byte 
fehlt!
Was ist der einfachste Weg? Ich kann doch nicht extra für jeden Wert 
noch ein Variable unsigned int usw anlegen und danach die Werte den 
eigentlichen Variablen zuweisen, oder? Das wäre doch 
Speicherverschwendung...
Bin ich zu blind einen einfacheren Weg zu gehen?
Gruß Antong