Hilfe bzeüglich Timer & LED

Gast #4019939
Lesenswert?
• ▲
▼
Hallo @ All,

Ich möchte gerne einen Timer programmieren (8bit), der nach einem 
Overflow (255 Takten) eine LED einschaltet, nach einem weiteren Overflow 
die LED wieder ausmacht (Und dann immer so weiter^^)

Mein Code sieht so aus:
1
#include <avr/io.h>
2
#include <avr/interrupt.h>
3

4
 
5
int main(void)
6
{
7
  // Timer 0 konfigurieren
8
  TCCR0 = (1<<CS01) // Prescaler 8
9
 
10
  // Overflow Interrupt erlauben
11
  TIMSK |= (1<<TOIE0);
12
 
13
  // Global Interrupts aktivieren
14
  sei();
15

16
DDRC=3; // damit sind dann PC0 und PC1 Ausgänge
17
 
18
  while(1)
19

20
  {
21

22
  PORTC = 11; //0. bit im Port C setzen
23

24
    PORTC = 0; //0. bit im Port C löschen
25

26
  }
27
}
28
 
29
/*
30
Der Overflow Interrupt Handler
31
wird aufgerufen, wenn TCNT0 von
32
255 auf 0 wechselt (256 Schritte),
33
d.h. ca. alle 2 ms
34
*/
35
#ifndef TIMER0_OVF_vect
36
// Für ältere WinAVR Versionen z.B. WinAVR-20071221 
37
#define TIMER0_OVF_vect TIMER0_OVF0_vect
38
#endif
39
 
40
ISR (TIMER0_OVF_vect)
41
{
42
  /* Interrupt Aktion alle
43
  (1000000/8)/256 Hz = 488,28125 Hz
44
  bzw.
45
  1/488,28125 s = 2,048 ms  
46
  */
47
}


Kann mir jemand weiterhelfen ?
Da ich noch ziemlich neu bin, habe ich den Quellcode kopiert, eingefügt 
und habe nur "DDRC=3" hinzugefügt und die Ports an und ausgeschaltet.

Grüße,

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.