Timer funktioniert nicht

Gast #1914049
Lesenswert?
• ▲
▼
Hallo,

Ich hab ein einfaches Programm mit AVR geschrieben aber irgendwie
funktioniert es nicht... Ich weiß nicht mehr weiter, wäre nett wenn mir
einer helfen würde.

Hier ist das Code
1
#include <avr/io.h>
2
#include <avr/interrupt.h>
3

4
unsigned char flag = 0;
5
void Init(void);
6

7
ISR (TIMER1_OVF_vect)
8
{
9
   TCNT1 = 0xBDB;
10
   flag = 1;
11
}
12
int main (void)
13
{
14
   Init();
15

16
   while(1)
17
   {
18
   if(flag)
19
  {
20
      PORTB = 0x00;
21
      flag = 0;
22
  }
23
  else PORTB=!PORTB;
24
    
25
   }
26
   return 0;
27
}
28

29
void Init(void)
30
{
31
    DDRB = 0xFF;
32
    TCCR1B = (1<<CS12);
33
    TCNT1 = 0xBDB;
34
    TIMSK = (1<<TOIE1);
35
    sei();
36
}
Gast #1914304
Lesenswert?
• ▲
▼
Hab dein Timing nicht nachgerechnet, aber sieht Du machst den Port aus 
und danach für einen kurzen Augenblick an und danach wieder aus?  Ich 
denke nicht das du da groß was siehst!  Aber beschreib erstma was du 
willst!

Gruß Ingo
Gast #1915616
Lesenswert?
• ▲
▼
Ich hab es ein wenig umgeändert aber geht trotzdem nicht...

Hier ist die neue Version:


#include <avr/io.h>
#include <avr/interrupt.h>

volatile unsigned char flag = 0;



ISR (TIMER1_OVF_vect)
{
  TCNT1 = 0x9E57;
  flag = 1;
}



int main(void)
{

  DDRB = 0xFF;
  PORTB = 0xFF;
  TCCR1B = (1<<CS11) | (1<<CS10);
  TCNT1 = 0x9E57;
  TIMSK = (1<<TOIE1);
  sei();
  while(1)
  {
    if(flag)
    {
      PORTB = 0xFF;
      flag = 0;
    }
    else PORTB = 0x00;
  }
  return 0;
}

Ich will das die LED´s in 2 Sekunden Takt blinken...

Wäre nett, wenn einer helfen würde!

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.