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
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;
Danke für die Hilfe funktioniert aber leider immer noch nicht. Ich weiss echt net wo dran das noch liegen soll! MFG Thomas
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)
Kann auch nicht sein AVCC liegt auf +5V. Und andere Ports hab ich auch schon probiert! mmhh...
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.