Habe jetzt nochmal zusammengefasst (Weil etwas funktioniert)
Hier mein Code
Code:#include <stdbool.h> #include <stdio.h> #include <asuro.h> int main(void) { Init(); char zC[2]; unsigned char umschaltpunkt; int t = 0,z = 0; /*******************************************************************************************/ while( 1 ) { if(Gettime() > umschaltpunkt) // Umschaltzeitpunkt überschritten? { umschaltpunkt += 1000; // neuen Umschaltzeitpunkt festlegen z++; } if (PollSwitch() == 1) z=80; if (PollSwitch() == 2) z=65500; if (PollSwitch() == 4) z=32740; if (PollSwitch() == 16) z=0; /**********************************************************************/ //sprintf(zC, "%d", z); //Übertragen utoa (z, zC, 10); SerWrite(zC, 5); //Übertragen SerWrite (" zC\n\r", 6); //Übertragen for (t=0; t< 40; t++) //Übertragen { //Übertragen Sleep (72); //Übertragen } //Übertragen /***********************************************************************/ if (z > 200) z=0; } return 0; }
Hier HT ausgabe
Code:65528 zC 65529 zC 65530 zC 65531 zC 65532 zC 65533 zC 65534 zC 65535 zC //So stimmt es Da ich oben z mit int deklarieert habe 0535 zC 1535 zC 2535 zC 3535 zC 4535 zC 5535 zC 6535 zC
Wenn ich z mit unsigned int deklariere:
Init();
char zC[2];
unsigned char umschaltpunkt;
int t = 0;
unsigned int z = 0;
Code:10 zC 11 zC 12 zC 13 zC 14 zC 15 zC //Taster gedrückt 30000 zC // fangt er immer wieder bei null an 1000 zC 2000 zC 3000 zC 4000 zC 5000 zC 6000 zC 7000 zC 8000 zC 9000 zC 1000 zC 1100 zC
Wieso?







Zitieren
Lesezeichen