www.mikrocontroller.net

Forum: Compiler & IDEs Timer debuggen mit AVR Studio und AVR-GCC


Autor: sammy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich versuche gerade den Timer 0 auf einem ATtiny2313 zum laufen zu 
kriegen und damit einen Interrupt auszulösen.
Ich kann beim Debuggen im AVR Studio allerdings nicht erkennen, das der 
Timer läuft. Der Counter wird nicht hochgezählt.
Der Attiny ist auf 4 Mhz (zum Versuch auch mal 16 Mhz) im AVR Studio 
eingestellt.
Hier die Code-Ausschnitte, die, soweit ich das laut Dokus verstanden 
habe, laufen sollten:

#include.....
#include "avr/interrupt.h"

ISR(TIMER0_OVF_vect)
{
  asm volatile("nop")
}


int main(void)
{
  TCCR0A |= (1 << CS00);
  TIMSK  |= (1 << TOIE1);
  while (1){
    asm volatile("nop");
  }
  return 0;
}


was mache ich falsch?

lg
Sammy

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sammy wrote:
> was mache ich falsch?
Unter anderem fehlt eine globale Freigabe für die Interrupt-Bearbeitung 
mittels sei(), ohne die überhaupt kein Interrupt ausgelöst werden 
kann.

Autor: sammy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oh ja, stimmt.
In meinem "richtigen" Programm habe ich das drin, nur gerade beim 
abtippen vergessen.


lg
Sammy

Autor: risu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Dein Timer läuft nicht, weil TCCR0B den Wert "0" hat. Anstelle von 
"TCCR0A |= (1 << CS00);" meinst Du wahrscheinlich TCCR0B, denn "CS00" 
gehört zu TCCR0B. Dein letzter Kommentar zeigt, dass Du hier am besten 
immer Code durch Copy&Paste einstellst -- nicht durch abtippen.

Gruß
 risu

Autor: sammy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja, danke.
Daran lags.
Dumme Sache...

lg
Sammy

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  sammy (Gast)

>In meinem "richtigen" Programm habe ich das drin, nur gerade beim
>abtippen vergessen.

Sowas lass man GANZ schnell bleiben. Abtippen oder "aus dem Gedächtnis 
aufschreiben" von Quelltexten ist der letzte Humbug. 1:1 reinkopieren 
bzw. gleich den vollständigen Quelltext als Anhang senden. Denn es zählt 
im Fehlerfall jedes kleine Semikolon (oder auch dessen Abwesenheit).

MFG
Falk

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.