ATtiny45 Timer 0 Comp. Modus

OP #3299739
Hallo,

folgenden Code:
1
ISR (SIG_OUTPUT_COMPARE0A) // Zeit für ganzes Protukoll
2
{
3
PORTB |= (1<<PB4) ;
4
}
5

6

7
TCCR0B = (1<<CS10); //setzt den Prescaler 1 --> keine Teilung
8
OCR0A = 200;      //setzt den Vergleichswert
9
TIMSK = 1<<OCIE0A;  //Compare-Int aktivieren
10

11

12

13
  while(1)
14
  {
15
      asm("nop");
16
      PORTB &= ~(1<<PB4); //reset
17
  }

Die ISR wird immer in gleichen Abständen aufgerufen.
Unabhängig vom Wert im Vergleichsregister.

Habe ich noch irgendwas vergessen?
Gast
Schon allein die Struktur ist mittelprächtig.

In der Hauptschleife wird ständig der Pin auf low gesetzt und in der 
Unterbrechung einmalig kurz auf high.
Da bekommt man ja selbst mit dem Oszi, Probleme beim Hingucken.

Eine Kontrolle eines total zerrissenen Programms auf Richtigkeit ist 
nicht möglich. So sehe ich z.B. nirgendwo, ob Du die Unterbrechungen 
überhaupt eingeschaltet hast.

Funktioniert "SIG_OUTPUT_COMPARE0A" überhaupt noch - soweit ich weiß 
heißen die jetzt anders.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 13 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.