HI,
ich hab heute einiges ausprobiert. Mit umwandeln, einzelne Zeichen abfragen, zerschneiden mit strtok usw.
Leider hab ich es maximal geschafft, dass er die ersten Ziffern erkennt und dann abbricht ohne den Exponenten zu beurteilen. anstatt bei 150 hat er dann schon bei 1,5 abgebrochen.

Hier mal ein Beispiel eines Fehlversuchs:
Code:
/*********************************************/

char fmaxstr []= "+1,500E+02";		//string 8.000

double fmax = strtod (fmaxstr, NULL);	// turn string into floating point number

char data [14];

char valueshort [14];

char value [14];

double valuecomp;

char delimiter []= " ";			

for (;;)	
{	
uart_flush();

waitms (5);

uart_puts(":72\r\n");
waitms (5);
							
uart_gets(data, 14);	// empfängt z.B. ",-1.500E+02 N"
data[3] = ',';		// aus . mach ,
data[1] = '+';		// Vorzeichen immer + (weil egal)
strcpy (value, strtok(data, delimiter));  // zerschneiden

strcpy (valueshort,value + 1);	  // ein KOMMA, das vor dem eigentlichen Wert gesendet wird, abtrennen
							
valuecomp = strtod (valueshort, NULL);  // Rest "+1,500E+02" in double umwandeln			
																																	
if (valuecomp >= fmax)
							
{	
setportboff (0);
uart_puts (":9,0\r\n");
									
sound (10,270);
															
break;
}
					
else continue;

/***********************************************/
Hab bestimmt wieder die Stringfunktionen falsch angewandt. Hab zwar u.a. auch auf http://www.c-howto.de/tutorial-stri....en-strtok.html nachgesehen, konnte für mich aber leider keine Lehren draus ziehen.
Bitte sagt mir was ich falsch gemacht hab. Wär super, wenn mir jemand nen Vorschlag zu dieser Problematik machen könnte.

Danke