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


von sammy (Gast)


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

von Johannes M. (johnny-m)


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.

von sammy (Gast)


Lesenswert?

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


lg
Sammy

von risu (Gast)


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

von sammy (Gast)


Lesenswert?

ja, danke.
Daran lags.
Dumme Sache...

lg
Sammy

von Falk B. (falk)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.