Austausch von atmgea 168 zu atmega 644

Gast #3666682
Lesenswert?
• ▲
▼
hallo zusammen.
habe mit einem atmega 168 ein glcd angesteurt und das ganze hat 
funktioniert. nun wollte ich einen atmega 644 anstelle des 168 
einsetzen. am aufbau hat sich nichts verändert, nur ruft der 644 jetzt 
irgendwie nichtmehr meine interruptfunktion auf.
er benutzt den timer0 und ist dort auf den compA modus geschalten.
aber wie gesagt, diese hier wird nicht aufgerufen.

ISR (TIMER0_COMPA_vect)
{...
}
(vorher mit dem 168 ging's)
hab auch keine anderen namen bei den registern vorgefunden. (die 
einstellungen sind gleich)
Gast #3667340
Lesenswert?
• ▲
▼
Ja schon klar mit der pin zahl.. geht ja nur um das Prinzip.  Kann auf 
jedenfall feststellen das das Programm bis zu ISR läuft. Dir namen der 
isr routinen sind auch gleich (hab einmal im Datenblatt und dann noch 
auf einer seite geschaut) :/
Gast #3667561
Lesenswert?
• ▲
▼
#include <asf.h> //von avr studio generiert -> wählt dazugehörige 
dateien aus, interrupt,board,...
(auch wenn man #include <avr/interrupt.h> probiert, geht es nicht)

uint8_t zeit_ms=0;

int main(void)
{
sei();
initialisierung_timer0();

     while(1)
     {...
           warten_ms(20);
     }
}
void initialisierung_timer0(void)
{
  TCCR0A =0x02; //clear timer on compare match erlauben
  OCR0A  =124;  // Output Compare Register A für 1 millisekunde
  TIMSK0 =0b000000010;  //Interrupt bei Match
}
void warten_ms(uint8_t millisekunden)
{
  TCNT0 =0;
  zeit_ms=0;
  TCCR0B =Timer0_start;  //64 prescaler

/////////Hier kommt er noch an/////////////////
  while (zeit_ms<millisekunden) //1 Match hat genau eine Millisekunde
  {
    ;
  }
//////////////^in der Schleife hängt er////////////
  TCCR0B =Timer0_stopp;
}

ISR (TIMER0_COMPA_vect)
{
  zeit_ms++;
}

Antwort schreiben

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