Timerproblem atmega

Gast #5609011
Lesenswert?
• ▲
▼
Hi,
ich habe ein Problem mit dem Timer0 vom atmega und hoffe, dass ihr mir 
weiterhelfen könnt.
1
#define F_CPU 16000000UL
2
#include <avr/io.h>
3
#include <avr/interrupt.h>
4
#include <util/delay.h>
5

6
int main(void)
7
{
8
  DDRB |= (1<<PINB5);
9
  PORTB &= ~(1 << PINB5);
10
  
11
  TCCR0A |= (1 << WGM01); // CTC-Mode
12
  TCCR0B |= (1 << CS00) | (1 << CS01); // clkI/O/64
13
  OCR0A |= (250 - 1);
14
  TIMSK0 |= (1 << TOIE0);
15
  
16
  sei();
17
    while (1) 
18
    {
19
    
20
    }
21
}
22

23
ISR (TIMER0_OVF_vect)
24
{
25
  static int32_t milliseconds = 0;
26
  milliseconds++;
27
  
28
  if(milliseconds>=1000)
29
  {
30
    PORTB ^= (1<<PINB5);
31
    milliseconds = 0;
32
  }
33
}

Der Code ist noch ganz übersichtlich. Ich möchte zunächst die LED in der 
ISR im Sekundentakt toggeln lassen. Doch leider bleibt diese aus. (auch 
wenn ich die LED direkt beim eintreten in der ISR toggeln lassen möchte, 
bleibt diese aus). Wenn ich in der while-schleife allerdings ein 
_delay_ms(500); und dann die LED Toggle, blinkt diese im 500ms-Takt.
Aber was ist am Timer falsch? Oder warum wird nicht in die ISR 
gesprungen?
Gast #5609040
Lesenswert?
• ▲
▼
Kai schrieb:
> ich habe ein Problem mit dem Timer0 vom atmega und hoffe, dass ihr mir
> weiterhelfen könnt.

Wäre es zuviel Arbeit für dich anzugeben welchen Controller
du genau meinst .. denn die Vielfalt an ATMegas ist immens.

Jedenfalls würdest du den hilfsbereiten Leuten hier eventuell
viel Arbeit abnehmen wenn sie nicht auf den ersten Blick sehen
welcher Controller zu deinem Timer passt.

Dies nur für eventuell zukünftige Fälle ...

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.