Forum: Mikrocontroller und Digitale Elektronik Timer und Uart konfilkt??


von Jan (Gast)


Angehängte Dateien:

Lesenswert?

Hallo hoffe es kann jemand helfen!

Erstmal die Beschreibung:
Ich benutze ein Atmega8535 um einen Lüter zu steuern!

Das soll heißen Timer0 als Counter zum zählen des Tachosignals!

Timer1 startet Ausgabe der Drehzahl alle 0,5 Sekunden!

Timer2 läuft im Fast PWM Betrieb!

Beim UART_RECV Interrupt schreibe ich einfach das Zeichen in den OCR2
und kann darüber die Geschwindigkeit vom Lüfter einstellen!
(Funktioniert ohne Ausgabe Drehzahl, schon mal etwas :-D )

Wenn ich jetzt aber zusätzlich im Timer 1 ISR die Variable mit dem
Zähler Stand von Time0 auf dem Uart ausgebe. Funzt der PWM nicht mehr
!
Jetzt meine Frage warum?!

Danke schon mal falls jemand helfen kann!

von gregor (Gast)


Lesenswert?

Hallo,
könnte es daran liegen das UDR nur 8Bit, deine Variabel aber 16Bit
ist?


volatile int16_t temp;
UDR = temp;  //<<<<<<<<<<<<<<--------- Dies hier ist die Problem
Zeile!!!!

mfg
gregor

von Jan (Gast)


Lesenswert?

Danke für den Tip, ist mir noch gar nicht aufgefallen!

Leider liedt es nicht daran!

habe noch weiter getest und die ISR vom Timer 1 auf 2 sekunden
gestellt, damit kann ich alles genau sehen !

das pwm über nimmt den wert richtig! aber dann beim schreiben auf das
usrt wird das wieder zurück gesetzt!

ich bin jetzt echt ratlos, so schwer kann das dochnicht sein!
mfg Jan

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.