www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik atmega48 - 16bit Timer springt nicht an


Autor: AT16 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich sitz grad auf der Leitung, der 16bit-Timer beim Atmega will einfach 
nicht:


TIMSK1 |= (1<<OCIE1A);
OCR1AH=0;
OCR1AL=0;
TCCR1A=0;
TCCR1B |= (1<<CS10);
TCNT1H=0;
TCNT1L=0;

[...]

ISR(SIG_OUTPUT_COMPARE1A)
{
PORTD|=(1<<PD4); //Led
}

Naja, die Led leuchtet nicht...

Wo könnte der Fehler liegen?

Danke
mfg

AT16

Autor: Philipp Burch (philipp_burch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
LED gegen Vcc angeschlossen?
sei(); vergessen?
DDRD4 kein Ausgang?

Autor: tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sei()?
code-Tags?
alter Int-Vectorname?

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
zeig das ganze Program

Autor: AT16 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, das passt alles, beim Timer 0 funktionierts...
Danke

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
HI

>OCR1AH=0;
>OCR1AL=0;

MfG Spess

Autor: AT16 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie ist das gemeint?

Autor: AT16 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier die main:

int main(void)
{
  DDRD=0xFF;
  TIMSK0 |= (1<<OCIE0A);
  OCR0A=0;
  TCCR0B |= (1<<CS00);
  TCNT0=0;

  TIMSK1 |= (1<<OCIE1A);
  OCR1AH=0;
  OCR1AL=0;
  TCCR1A=0;
  TCCR1B |= (1<<CS10);

  TCNT1H=0;
  TCNT1L=0;

  cli();
  sei();
  while(1){};
}

ISR(SIG_OUTPUT_COMPARE1A)
{
//led
}

ISR(SIG_OUTPUT_COMPARE0A)
{
//led
}

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Wozu ein Compare-Interrupt, wenn das zusändige Register 0 ist.

>Nein, das passt alles, beim Timer 0 funktionierts...

Halte ich für ein Gerücht.

MfG Spess

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
spess53 schrieb:
> Hi
>
> Wozu ein Compare-Interrupt, wenn das zusändige Register 0 ist.

Der Compare Match müsste aber trotzdem ausgelöst werden.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.