Ich will mit meinem AVR 90S8535 den Timer2 Overflow verwenden und nur mal alle Sekunde z.B. einen Wert von einer Variable hochzählen lassen. (Programmierung in C) Kann mir jemand zeigen wie das geht??? (Ich verwende den Codevision AVR)
Hallo, wenn du Codevision AVR benutzt, kannst du den CodeWizardAVR (F2) aktivieren. Stellst den Typ und die Frequenz ein und dann unter Timers die gewünschten Einstellungen machen. Generiert wird dir der Code automatisch, so das du nur noch in den Interrupt eine entsprechende Zählschleife einbinden mußt.
Ok! Das habe ich ja schon gemacht, aber irgendwie tut sich da nichts. Kannst du mir nicht ein Beispiel im Forum ablegen? Ich brauche es dringend.
Hallo, mal ein versuch von mir #include <90s8535.h> // Timer 2 overflow interrupt service routine interrupt [TIM2_OVF] void timer2_ovf_isr(void) { // Place your code here int i; i=i+1; if (i>100) { var=var+1; i=0; } else { } // Reinitialize Timer's 2 value TCNT2=0x00; } var kann z.B. global als int vereinbart werden. // Timer/Counter 2 initialization // Clock source: System Clock // Clock value: 3,906 kHz // Mode: Output Compare // OC2 output: Disconnected TCCR2=0x07; ASSR=0x00; TCNT2=0x01; OCR2=0x00; kann es nicht testen, da ich keinen 90S8535 habe
Hier habe ich den Code mal ins Forum gestellt. Irgendwie will es nicht hinhauen. Kann mir jemand helfen. Ich will nur zeitverzögert einen Wert bzw. die LED's hochlaufen lassen Brauche dringend hilfe.
hallo, mal ne andere frage: ist codevision so was wie bascom, was den code auch so fett macht? mfg raoul4
Ich selber kenne BASCOM überhaupt nicht. Ich will nur den Timer2 verwenden und eine Zahl z.B. alle Sekunde um eines erhöhen. Aber ich schaffe es nicht ? Hmm... Hoffentlich kann mir jemand helfen
Gibt es hier echt niemand, wo mir dazu ein passendes kleines Beispiel geben kann. Ich wäre echt sehr dankbar! Sorry, aber was bedeutet volatile???
@Trasher Ein optimierender Compiler (und als einen solchen kann man einen C-Compiler normalerweise anschauen), legt bei globalen Variablen, welche in Funktionen verwendet werden manchmal Kopien an, die nicht immer mit dem Original verglichen werden. Deklariert man die Variable hingegen als "volatile", dann wird immer auf dem Original operiert. (Irrtum möglich, aber nicht wahrscheinlich ;-) ) MfG, Daniel
Danke für diese Info! Brauche aber dringend ein kleines Beispiel! Kann mir niemand ein Beispiel in C geben?
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.