Timer läuft nur in AVR Studio

Gast #76690
Hi,

Mein Timer funktioniert nur beim Simulieren im AVR Studio 4!

Ich înitialisiere ihn so:




TIMSK = (1<<TOIE0);  //Timer 0 Interrupt initialisieren
TCCR0 = (1<<CS01) | (1<<CS00);    //Timer Prescaler auf 64

TCNT0 = 130;   // Timer 0 auf 130 einstellen (2ms bei 4MHz)
    // (255-130) * 16us = 2ms


Und die ISR dazu:

SIGNAL(SIG_OVERFLOW0)
{
  timer_flag = 1;    // Interrupt Flag wird gesetzt
  outp(130,   TCNT0);      // Timer auf 2ms einstellen
}



Im Hauptprogramm mach ich nichts

for(;;)
{}


Kann es sein, dass mein uC kapputt ist (ATmega8)? Oder habe ich ihn
falsch initialisiert?
Gast
Aber sei (); hast du in deiner main stehen?
Was soll timer_flag = 1 bezwecken? Es wird beim ersten Interrupt auf 1
gesetzt und bleibt dann auch auf 1. Setzt du es im Hauptprogramm wieder
zurück?

Thomas
Gast
Ach ja sorry...

sei();

wird in der Initialisation gesetzt und das Timer_flag wird in einem
Unterprogramm benützt!

Zum austesten ob der Timer funktioniert habe ich folgendes gemacht:


in der Timer ISR:

IF (PORTC = 0xFF) PORTC = 0x00;
else PORTC = 0xFF;

und PORTC an nen KO gehängt...

Vielen Dank für die Hilfe

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.