8Bit Timer

Gast #284881
Lesenswert?
• ▲
▼
Hi.
Ich bin mir gerade nicht ganz sicher ob meine Rechnung stimmt.
Ich will die blinkfrequenz meiner LEDs berechnen, welche ich mit einem
Timer blinken lasse.
Als Quarz haben ich 4MHz, einen Teilungsfaktor von 1024 und meinen
Timer  lasse ich ein Ereigniss alle 60 durchläufe also Outputcompare =
60 auslösen.

Das heisst ich hab folgende Rechnung :
4000000  1014  60 / 2 = 32Hz
Das komische ist das ich es noch gaaanz leicht flackern sehe also kann
da irgendwas nicht stimmen.
(die zwei weil ich ja bei einem Vorgang auschalte und beim nächsten
wieder ein)

Hier mein C Code:
(ATMEGA8515)
1
#include <avr/io.h>
2
#include <stdint.h>
3

4
#include <avr/signal.h>
5
#include <avr/interrupt.h>
6

7

8
uint8_t  blub;
9

10

11
SIGNAL (SIG_OUTPUT_COMPARE0)
12
{
13
  
14
  //Ereigniss
15
  
16
  //blub++;
17
  //if (blub >= 8)
18
  //  blub = 0;
19

20
  //PORTB = ~(1 << blub);
21
  PORTB = ~PORTB;
22
}
23

24

25

26
int main(void)
27
{
28

29
  DDRB = 0xFF;
30
  PORTB = 0xFF;  
31

32
  //TIMER
33
  TCCR0 = 0b00000101;   //Prescaler definieren
34
  TCCR0 |= (1 << WGM01);  //Output Compare einschalten (CTC-Modus)
35
  OCR0  = 60;      //Wenn Timer bis 50 gezählt hat dann Ereigniss auslösen
36
und clearen
37
  
38
  TIMSK = (1 << OCIE0);  //Output compare interrupt aktivieren
39
  sei();          //Global interrupts on
40

41

42
  while(1);
43
}

Antwort schreiben

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