Zitat Zitat von Valen
Den Sprung von 201 auf 11 kann ich (noch) nicht erklären aber es gibt einiger Programmier-Fehler in dein Programm umsonst.

Kann es sein das es nur den 1nser anzeigt der eigentlich nicht hingehört, weil wenn ich den 1nser wegdenke stimmt es


Habe jetzt das Programm so


Code:
#include <stdbool.h>
#include <stdio.h>
#include <asuro.h>
   int main(void)
{
   Init();
   char zC[2];
   unsigned char umschaltpunkt = 0;
   unsigned int z = 0;
   int t = 0;
/*******************************************************************************************/
while( 1 )
{
   if(Gettime() > umschaltpunkt)       // Umschaltzeitpunkt überschritten?
   {
   umschaltpunkt += 200;              // neuen Umschaltzeitpunkt festlegen
   z++;
   }

if (PollSwitch() == 1)
   z=0;


if (PollSwitch() == 2)
   z = 65500;

if (PollSwitch() == 4)
   z = 190;



/**********************************************************************/
      sprintf(zC, "%d", z);      //Übertragen
      SerWrite(zC, 6);         //Übertragen
      SerWrite ("  zC\n\r", 6);   //Übertragen
   for
      (t=0; t< 40; t++)         //Übertragen
        {                     //Übertragen
        Sleep (72);               //Übertragen
        }                     //Übertragen
/***********************************************************************/



}
   return 0;
}

EDIT

unsigned int z = 0;
Eigentlich müsste er ja da bis 65 000 zählen oder ?

Aber
Code:
32762  zC
32763  zC
32764  zC
32765  zC
32766  zC
32767  zC
-32768  zC
-32767  zC
-32766  zC
-32765  zC
-32764  zC
-32763  zC
-32762  zC
Keine Ahnung wieso das so ist