Forum: Mikrocontroller und Digitale Elektronik Timero-interrupt wird nicht ausgelöst


von Philipp Pichler (Gast)


Lesenswert?

Hallo,

ich wollte eine Timer/Counter0 anweisung in mein C-Programm einbauen,
jedoch funzt das nicht so wie ich will!!

ich habe den timer0 initialisiert und gehe davon aus das diese stimmt,
jedoch wird der INTERRUPT nicht ausgelöst!!
ich glaube das der Timer nicht startet jedoch weis ich es nicht genau

vielleicht gibt es irgend einen Befehl oder ein BIT das ich nicht
aktiviert habe??

ich hoffe jemand kann mir sagen wie ich den timer einschalte.

Danke im Vorraus

von crazy horse (Gast)


Lesenswert?

da keiner sehen kann, was du gemacht oder nicht gemacht falsch gemacht
oder vergessen hast...

von Rahul (Gast)


Lesenswert?

sei();
Sonst schliesse ich mich Crazy Horse an...

von Marcus (Gast)


Lesenswert?

interrupt in die int verktor tabelle geschrieben, bzw. auch aktiviert
und ihm ein priority level zugewiesen?
in C zB sowas wie:   asm("fset i");

von Philipp Pichler (Gast)


Lesenswert?

das ist der Code den ich geschrieben habe

//MAKROS
#define SET_TEILER_1024 TCCR0 = ((TCCR0 & 0xFD)|0x05)
#define ENABLE_TOV0_INT (TIMSK|= 0x01)
#define ENABLE_INT_GLOBAL (SREG |= 0x80)
//Variablennamen
#include "mega16.h"
#define Ein PINA.7
#define LED PORTB.7


//deklaration der Timerfunktion
void init_timer0(void);

void main(void)
{
  init_timer0();
  while(1)
     {

    }
}

void init_timer0(void)
{
//TCCR....Vorteiler 1024(Zählfrequenz ca. 8kHz)

  SET_TEILER_1024;
  //Zählerstand auf 0 setzten
  TCNT0 = 0x00;
  //Globale Interruptfreigabe
  ENABLE_INT_GLOBAL;
  //Interrupt freischalten für Timer_0_Überlauf
  ENABLE_TOV0_INT;

}
interrupt[TIM0_OVF] void intervall (void)
{

  LED = 1;

von Rahul (Gast)


Lesenswert?

sieht nach Codevision aus...
Wenn das dein kompletter Code sein soll, fehlt da noch etwas...
normalerweise werden Sachen wie "interrupt" großgeschrieben (C ist
casesensitiv...)

von Philipp Pichler (Gast)


Lesenswert?

stimmt das ist Codevision

was fehlt den noch, das möchte ich wissen
und was meinst du mit "casesensitiv"?

von Hubert.G (Gast)


Lesenswert?

Include Dateien fehlen.
Groß- und Kleinschreibung werden gewertet.

Wenn du noch nicht so gut drauf bist mit C dann solltest du im
Code-Vision vieleicht den Code-Wizzard verwenden.

von Philipp Pichler (Gast)


Lesenswert?

Welche dateien meinst du dass fehlen?

Welche Wörter gehören grosgeschrieben?

von Hubert.G (Gast)


Lesenswert?

Ein #include <avr/io.h>
#include <avr/interrupt.h> fehlt mir, aber vieleicht brauchst du das im
Code-Vision nicht und der Compiler fügt das selbst ein.
Rahul meinte das im C die Groß/Kleinschreibung gewertet wird

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.