Forum: Mikrocontroller und Digitale Elektronik Problem Timer AtMega32 C


von Thomas (Gast)


Angehängte Dateien:

Lesenswert?

Hallo!
Erstma sorry das ich 2 Threads mache (einer hier, einer GCC-Forum) aber
hier is mehr los und mehr Leute schaun rein! :-)
Also ich will einen 1s Timer mittels Overflow Compare Match Interrupt
programmieren. Das bedeutet ja (1s*16MHz)/1024 => 15625 => 3D09.
Das habe ich auch in die Compareregister geschrieben. Ausserdem habe
ich den Prescaler im TCCR1B auf 1024 gesetzt und den Timer Compare
Match B Interrupt im TIMSK gesetzt. Und anschließend noch ein "sei()"
um Interrupts global zu erlauben.
Normal alles richtig, oder?
Aber die Kiste läuft net!!!
Wäre nett wenn ihr mir helfen könntet!
Verwendete Hardware AtMega32 / 16Mhz Oszi

MFG
Thomas

von crazy horse (Gast)


Lesenswert?

scheint alles richtig - bis auf den beliebten Anfängerfehler:
bei 16bit-Schreiben: erst H, dann L-Teil (OCR1AH/L).
Kenn mich mit dem GCC nicht aus - aber gibts keine 16bit-Ausgabe?
OCR1A=0x3d09;

von Thomas (Gast)


Lesenswert?

Danke für die Hilfe funktioniert aber leider immer noch nicht.
Ich weiss echt net wo dran das noch liegen soll!

MFG
Thomas

von crazy horse (Gast)


Lesenswert?

bleibt noch ein Anfängerfehler:
der PortA ist muss extra über Avcc versorgt werden, sonst kommt da
nichts. Versuchs erst mal mit einem anderen Port (Achtung, bei PortC
lauert JTAG, ist ab Werk eingeschaltet)

von Thomas (Gast)


Lesenswert?

Kann auch nicht sein AVCC liegt auf +5V. Und andere Ports hab ich auch
schon probiert!
mmhh...

von crazy horse (Gast)


Lesenswert?

dann kann ich dir nicht mehr weiterhelfen, ist dann ein gcc-spezifisches
Problem, das einzige, was mir dabei einfällt: kann an der Gültigkeit der
Variablen liegen, verstehe ich zwar nicht (wenn eine Variable global
deklariert ist, sollte sie auch global verwendbar sein). "Volatil"
glaube ich geistert hier in dem Zusammenhang immer wieder mal um. Ich
habe mich damit nie weiter beschäftigt, bei meinem Compiler sind
globale Variablen globale und lokale sind lokale. Mehr interessiert
mich dabei nicht (ausser Speicherklasse und static). Ich habe dein
Beispiel jedenfalls mal kompiliert: läuft.

von Thomas (Gast)


Lesenswert?

Ok!
Danke aber für deine Bemühungen!
Ich guck mal ob es ne neuere Version von GCC zum Download gibt und da
mein Glück probieren!

MFG
Thomas

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.