Atmega164P Timerinterruppt

OP #788566
Lesenswert?
• ▲
▼
Hallo

Versuche auf dem Atmega164P einen Timerinterrupt auszulösen.
Auf dem Atmega 16 funktioniert der Code habe die Registernamen schon 
geändert.

An Fuse Bits sind BOOTSZ0 und BOOTSZ1nicht gesetzt sonst alle also im 
PONY Prog nur die beiden angehackt.

kann mir da jemand weiter helfen?

Code hier:
1
#include <avr/io.h>
2
#include <avr/interrupt.h>
3
#include <stdint.h>
4

5
#define F_CPU 4000000UL
6

7

8
int a=0;
9

10
    void init_timer(void)
11
  {
12

13
      //Initialisierung des Timers:
14

15
      TCCR0A |= (0<<CS00)|(0<<CS01)|(1<<CS02);      //Quarztakt wird durch 256 geteilt 4MHz/1024=15625Hz
16

17
      TCNT0  = 178;                   // Vorladen  15625Hz/200,Hz(5ms)=78,125  256-78,125=178
18

19
      TIMSK0 |= (1<<TOIE0);                  // Interrupts aktivieren und damit Timer starten  
20

21
  }
22

23

24
  ISR (TIMER0_OVF_vect)  
25
      
26
    {
27
      TCNT0  = 178;
28

29
      a++;
30
      if (a>3000)//30sekunde
31
      {
32
      PORTA |= (1<<PA0); 
33
      }
34
      }
35

36
  int main (void) 
37
  {           
38

39

40
      DDRA = 0xFF;      
41
      
42
      
43

44
          
45

46
      init_timer();       //Aufruf von timerinitialisierung
47

48
        sei();          // globale Interrupts zulassen
49

50
 
51
       while(1) { }                   //endlosschleife um programm nicht zu beenden                   
52
       return 0;                       //Rückgabewert an das Betriebssystem (wird nie erreicht wegen while Schleife)    
53
      
54
  }

Vielen Dank

MfG
OP #788660
Lesenswert?
• ▲
▼
>Und, was ist damit?

der timerinterrupt wird nicht ausgelößt.

>Dafür gibt es den CTC-Mode. Da muß man keine Takte zählen...

klar gibt es den aber das hier hat ja schon funktioniert auf dem 
Atmega16 frage mich nur warum nicht auf dem Atmega164P.

habe die Registernamen alles geändert gibt es noch was was man beachten 
muss??

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.