atmega8 timer1 start & stop per funktion

OP (Firma: Keine) #861050
Lesenswert?

Hallo!
Ich habe mir zwei Funktionen gebaut, mit denen ich den Timer1 des 
Atmega8 starten und anhalten kann.
Diese Start- und Stop-Funktion wird durch die ISR des Timers 0 
getriggert.
Das Ding soll lediglich ein ca. 3,7kHz Signal (Beep mit Piezo) an Pin 
PB1 ausspucken. Timer0 sorgt dabei für ein Pulsieren des Pieptones.Das 
tut er zwar, doch bleibt der Port nach dem Aufrufen der STOP-Funktion 
durch den Toggle-Betrieb regelmäßig auf "high" kleben.
Habe schon probiert, den Ausgang in der Stop-Funktion nach dem Anhalten 
des Timers1 definiert auf "0" zu setzen, aber das funzt nicht!
Dann habe ich an gleicher Stelle noch vorher das OCF1A-Flag gekillt 
(=1), hat auch nichts gebracht....Kacke!
Wer von Euch kann mir helfen???
Vielen Dank!
Angehängte Dateien:
Gast #861451
Lesenswert?

@mo!
Danke, nun klappt es.
Der Ausgang wird nun in der Timer1_stop() Funktion
als "nicht angesteuert" definiert.
Es ist offensichtlich nicht notwendig den Pin danach noch auf 0 zu 
setzen.
Damit man nun über die Start- und Stop-Funktionen den Timer wahlweise 
Starten und Stoppen kann, muss natürlich die Anweisung zum Togglen in 
der Timer1_start() funct. stehen.

Korrigierter Code oben.

Danke
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren