Forum: Mikrocontroller und Digitale Elektronik ATmega48. Timer2 startet nicht (Bascom)


von Andi K. (aykay90)


Angehängte Dateien:

Lesenswert?

Hallo zusammen!

Momentan habe ich Probleme den Timer2 meines ATmega48 zum laufen zu
bringen.

Bei mir will der Timer2 (übrigens das gleiche Problem auch mit Timer0)
nicht hochzählen.
Der Code befindet sich im Anhang:

Kann mir ja vielleicht jemand helfen, bzw, sagen was nicht richtig ist?

Danke und Gruss Andi

von mue-c (Gast)


Lesenswert?

Wie hast du denn festgestellt, dass der Timer nicht läuft?

von Andi K. (aykay90)


Lesenswert?

Ich habe das Programm im Simulator getestet und Timer2 hatte über 
mehrere ms immer einen Wert von 0.

Und eine weitere Messbarkeit habe ich in der Do- Loop- Schleife 
eingebaut. PortB, 5 war immer low.

von mue-c (Gast)


Lesenswert?

Hattest du im Simulator auch den Button "Refresh Variables" gedrückt 
oder hast du das Programm angehalten, um zu sehen, welchen Wert Timer2 
hat?

von Andi K. (aykay90)


Lesenswert?

So habe das nochmals getestet und tatsächlich, ich habe den Button gar 
nicht verwendet!
Nun die Sache mit dem Timer läuft jetzt prima! was mir alerdings auch 
noch zu schaffen macht, ist die var= sin(x) Berechnung. Denn jedes Mal 
zeigt mir das Programm einen Fehler auf beim Compilieren. Erst wenn ich 
die Berechnung von B deaktiviere, so wie im Code zu sehen funktioniert 
es.

Das Programm sagt mir dann komischerweise  dass es bei der Variable B 
eine "integer" oder "long" verlangt, jedoch ist B ja auch so deklariert!

Nun habe ich keine Ahnung an was es denn liegen könnte :-(

von Karl H. (kbuchegg)


Lesenswert?

Dann schau in die BASCOM Hilfe, wie man die Sin() Funktion benutzt.
Dazu hast du ja die Hilfe.

von MWS (Gast)


Lesenswert?

Das Bascom Beispiel verwendet für Sin() Single-Variablen. Außerdem 
kannst Du vergessen bei Prescale 1 für den 8Bit Timer2 in der ISR 'ne 
Sinus-Berechnung zu machen, da bleiben von theoretisch 256 Takten 
vielleicht 130 Takte über. Nicht umsonst nimmt man für so 'ne Aufgabe 
'ne Lookuptabelle für den Sinus.

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.