Forum: Compiler & IDEs timer.h


von Holger G. (holli)


Lesenswert?

Hallo,

nach langer Zeit muss ich mich mal wieder mit winavr beschäftigen und
wollte Teile eines alten Codes nehmen. Nun hab ich mir die neueste
Version von winavr installiert und musste feststellen, daß sich schon
wieder jede Menge geändert hat. :-(
daß man nun nicht mehr "signal" schreiben soll sondern "ISR" hab
ich rausgefunden. Aber es gibt irgendwie die "timer.h" nicht mehr.
Demzufolge funktioniert sowas nicht mehr:

...
//init Timer
  timer0_source(CK1024);//WGM: Normal, Timerwert 10ms
  timer_enable_int(_BV(TOIE0));
  TCNT0 = 0xD9; //set count// actual value:  10,016 mSec
  sei();//enable alle Interrupts
...

Könnt Ihr mir mal nur einen Tip geben, wo ich suchen soll? Wie schreibt
man das jetzt?

Schon mal Danke!

Gruss Holger

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Die CK-Werte stimmten nur für ganz alte AVRs (und dort nichtmal
für alle Kanäle).  Bitte zieh' dir die für deinen AVR passenden
aus dem Datenblatt und schreib' sie separat hin.

timer_enable_int() war weiter nichts als eine pure Zuweisung
an das Register TIMSK.  Wenn du das unbedingt noch haben
willst, findest du das in <compat/deprecated.h> wieder, aber
es wird zunehmend auch sinnloser, da TIMSK sowieso schon bald
nicht mehr genügte, sodass zuerst ein ETIMSK hinzu kam und
nunmehr die AVRs für jeden Zeitgeberkanal eigene Flag- und
Mask-Register haben (TIMSK0, TIMSK1, ...).

von Holger Gerwenat (Gast)


Lesenswert?

Danke Jörg!

Schönes Wochenende.

Holger

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.