Danke für den Hinweis,
das Programm läuft bei mir normalerweise als Funktion. Die Warnhinweise kommen nur, wenn man es als main() compiliert. Ich habe die ursprüngliche Funktion nur der Einfachheit halber in eine main() gepresst, damit Ihr es leichter ausprobieren könnt.
Das ändert aber nichts daran, dass mein Programm trotz der
Code:
SerRead(&cmd,1,0); // Daten einlesen
switch (cmd)
…..
Schleife nicht mehr daran denkt, z.B. auf eine „3“ richtig zu reagieren und in die untergeordnete
Code:
case '3':
while (cmd2 != 's')
{
SerWrite("\n\r MotGeschStep (",16); PrintInt(tmpDaten[2]);
SerWrite(") --->: ",8);
SerRead(&cmd2,1,0); // Daten einlesen
switch (cmd2)
zu verzweigen.
Das „while(1);“ habe ich nur darum geschrieben, weil es in einer main() notwendig ist, damit das Programm nicht evtl. den Code im Speicher des ATMEL weiter ausführt, der noch von früheren Programmen drin steht. Bei meiner Funktion steht das natürlich nicht.
Gruß, Hans
Lesezeichen