Forum: Mikrocontroller und Digitale Elektronik COM1A1 bit bei Tiny2313 - wird der Zustand gehalten?


von Timeridiot (Gast)


Lesenswert?

Hallo,

vielleicht kann mir hier ja jemand weiterhelfen. Also, folgendes 
einfaches Szenario, Timer im ganz normalen Modus, aber mit 
Output-Compare am Port:

1. der Port für OC1A wird auf Ausgang und LOW gesetzt
2. Ich initialisiere den Timer so, daß noch kein COMPARE-MATCH erzeugt 
wird und setze die Compare-Values etc.
3. Ich setze in TCCR1A das COM1A1-Bit.
4. Ich starte den Timer.

Was ist nun der aktuelle Zustand von OC1A? Ist es immer noch LOW, oder 
wird der sofort nach Punkt 3. HIGH, weil der Timer die Kontrolle vom 
Port übernimmt und da einfach direkt den Compare-Match-Vergleich auf den 
Ausgang setzt?

Das Datenblatt finde ich da etwas unklar: "Clear/set OC1A/OC1B on 
compare match", aber kein Wort über etwaige Änderungen wenn der Port 
schon in dem Zustand ist, in den der Compare-Match ihn bringen soll.

Vielen Dank für jegliche Hinweise!

von Heiko (Gast)


Lesenswert?

Moin,

Ich finde das Datenblatt recht klar: Nur in dem Moment, wo der Compare 
Match zuschlägt, wird der Pin gesetzt bzw. gelöscht. Sonst ergäbe doch 
auch die Möglichkeit "Toggle on Compare Match" keinen Sinn.

Der µC vergleicht ja nicht auf größer oder kleiner, sondern nur auf 
gleich oder nicht gleich.

Ich kann natürlich auch falsch liegen, also hilft nur Ausprobieren :)

MfG, Heiko

von Peter D. (peda)


Lesenswert?

Die Compare-Unit und das Ausgangslatch sind 2 verschiedene Ausgänge, die 
dann auf den Pin gegeben werden.
Das Ausgangslatch hat daher keinen Einfluß auf den Compare-Ausgang.
Daher gibt es die Force-Compare-Bits, um den Compare-Ausgang auf den 
gewünschten Zustand zu setzen.


Peter

von Willi (Gast)


Lesenswert?

was beim compare mit dem OCR pin passiert, kannst du doch einstellen 
(setzen,löschen,toggle)

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.