Atmega164P Timerinterruppt

OP #788566
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
>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

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