AVR-Stoppuhr zählt nur bis 255

Gast #1495457
Lesenswert?
• ▲
▼
Hallo!

Habe ein Problem!
Und zwar will ich eine Stoppuhr basteln, die eigentlich schon ganz gut 
funktioniert.
Mein Problem ist, dass die Zählvariable ein integer ist und somit nur 
bis 255 zählen kann.
Ich lass die Stoppuhr in zehntelsekunden laufen - was heißt, dass bei 
25.5 Sekunden Schluss ist.

Wie kann ich nun auf einfachen Wege den counter weiter rauf zählen 
lassen?

Der Timerinterrupt macht folgendes:

ISR(TIMER1_COMPA_vect)
{
  overflowcounter++;
  if(overflowcounter == 10) //alle zehntelsekunde counter erhöhen
  {
        counter++;
    overflowcounter=0;
  }
}


Grüße
Markus
Angehängte Dateien:
Gast #1495459
Lesenswert?
• ▲
▼
Das Problem ist nicht "Counter". Es ist als "int" definiert uns sollte 
daher 2 byte habe und somit bis 2^16=65536 zöhlen können. Dein Problem 
steckt in "zahl", DAS ist eine 8Bit- variable und kann nur bis 255 
zählen. Versuch eine andere Umrechnung von "Counter" für das Display!
Gast #1495474
Lesenswert?
• ▲
▼
Hallo!

Ach ich sehe schon, ich hab mich zu sehr auf den Counter versteift und 
dazu noch keine Ahnung gehabt wie groß ein int tatsächlich ist ^^

Ich sollte mir mal die Datentypen zu Gemüte führen...

ich hab jetzt aus "zahl" ein uint16_t gemacht und alles läuft prächtig!

Danke für eure Hilfe!

Grüße
Markus

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.