Zähler zählt nicht wenn Startwert zu klein Wie kann das sein!?

Gast #5423526
Lesenswert?

Hallo, kann mir wer erklären, warum die angeschlossene LED mal blinkt 
und mal nicht?
Irgendwie scheinen der Vergleich mit 0xff und ein Resetwert < 256 nicht 
zu funktionieren! Aber warum?
Kann das mal jemand bei sich testen? Mit dem Tiny85 bekomme ich diese 
seltsamen Ergebnisse..

1
int main(void){
2
  DDRB = 0xff;
3
  static uint16_t cnt = 0;
4

5
  while(1){
6
    //if(cnt++==0xff){ PORTB = ~PORTB; cnt = 255u; }  // geht nicht
7
    if(cnt++==0xfe){ PORTB = ~PORTB; cnt = 255u; }    // geht
8
    //if(cnt++==0xff){ PORTB = ~PORTB; cnt = 256u; }  // geht
9

10
    //if(!(cnt++)){ PORTB = ~PORTB; cnt = 255u; }    // geht
11
    //if(cnt++==0){ PORTB = ~PORTB; cnt = 255u; }    // geht
12

13
    uint8_t i = 63;
14
    while(i--);
15
  }
16

17
  return 0;
18
}
Beitrag #5423547 wurde von einem Moderator gelöscht.
Beitrag #5423552 wurde von einem Moderator gelöscht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren