Register werden nicht erkannt

OP #2723791
Lesenswert?

Guten Tag!

Habe nun den Code hier aus der Seite für eine stinknormale Uhr 
übernommen. Ich arbeite mit dem AVR Studio und programmiere den 
ATmega16.

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

volatile unsigned int sekunde;
volatile unsigned int minute;
volatile unsigned int stunde;

int main(void)
{
  //lcd_init();
    TCCR0A = (1<<WGM01);
    TCCR0B |= (1<<CS01);
  OCR0A = 125-1;

    TIMSK |= (1<<OCIE0A);
   sei();

    while(1)
    {

    }
}

ISR (TIMER0_COMPA_vect)
{


      sekunde++;
      if(sekunde == 60)
      {
          minute++;
          sekunde = 0;
      }

      if(minute == 60)
      {
          stunde++;
          minute = 0;
      }

        if(stunde == 24)
      {
        stunde = 0;
    }

 }

Nur bekomme ich für jedes Register die Meldung "undeclared", an was 
könnte das denn liegen?
würde mich über eine schnelle Antwort sehr freuen (:
Gast #2723806
Lesenswert?

=> Datenblatt lesen, verstehen, Code anpassen.

Oder die Quelle, von der du den Code kpoierst, genau lesen, und die 
wenigstens verstehen (und den richtigen Prozesortyp verwenden) .Ganz 
ohne "verstehen" funktioniert das nicht.

Oliver
Gast #2723813
Lesenswert?

Die Register bei den "alten" AVRs heisen ein wenig anders
->wie schon erwähnt ORC0 statt OCR0A  (beim Mega16 gibt einfach nur eine 
Compare-Einheit für den Timer0)
Deswegen sollte man bei der Übernahme von fremdem Code erst schauen, für 
welchen Typ genau der geschrieben ist, und dann schauen, ob die Register 
gleich benamst sind..
OP #2725904
Lesenswert?

Gleich vorweg ein Sorry für den Doppelpost.

Nur habe ich jetzt das Problem, das mein Display leider nicht mehr 
funktioniert bzw. nicht das ausgibt, was ich will.

Versorgung u. Kontrastregelung durch ein Potentiometer funnktionieren. 
Nur gibt es mehr einfach nichts aus. Es werden lediglich diese Balken 
angezeigt (Progressbar ähnlich).

Das Ganze hat schon einmal einwandfrei funktioniert, jedoch aus 
unerklärlichen Gründen funktioniert es jetzt nicht mehr.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren