Forum: Mikrocontroller und Digitale Elektronik OC0 alsTakt?


von Hansi (Gast)


Lesenswert?

Hi
Ich will über SPI einen Atmega8 mit einem Sensor kommunizieren lassen.
Für den Sensor benötige ich einen Takt wofür ein Oszillator empfohlen
wird.
Kann ich diesen Takt jedoch auch über OC0 mittles toggeln erzeugen?
Ich mein der Takt sollte ja die ganze Zeit am Sensor anliegen!?


Wie mache ich dann mit meinem normalen Programm weiter?

von Rahul (Gast)


Lesenswert?

Der Mega8 hat kein OC0...
Sonst sollte es aber gehen, wenn man es komplett in Hardware togglen
lässt (OC1A o.ä.).

von Michael Nagler (Gast)


Lesenswert?

Hallo Hansi,
natürlich eignet sich OC0 hervorragend als Taktquelle. Man muss nur ein
paar Bedingungen, die im Datenblatt des Mega8 gut beschrieben sind,
beachten.

Da meine Glaskugel gerade eine neue Firmware bekommt, kann ich nur
raten, mit welcher Frequenz Dein Sensor angesteuert werden will. Daraus
ergibt sich die Einstellung des Timers 0.

Lies einfach mal das Kapitel Timer im Datenblatt durch! Kleiner Tip:
Achte besonders auf die Beschreibung der PWM-Modi.

Gruß
Michael

von Hansi (Gast)


Lesenswert?

Oh logisch!
OC1A meinte ich natürlich :-)

von Hansi (Gast)


Lesenswert?

@Michael:
Die Frequenz zu erzeugen ist weniger das Problem.
Meine Frage ist nur ob das toggeln quasi im Hintergrund läuft und ich
normal im Programm weiter machen kann oder nicht.

von Michael Nagler (Gast)


Lesenswert?

Jetzt, wo ich es lese: Der Mega8 hat tatsächlich kein OC0. Aber OC1x
könnte gehen, denn OC2 wirst Du für SPI brauchen.

Gruß
Michael

von Rahul (Gast)


Lesenswert?

Es kann komplett im Hintergrund laufen (CS1A1:0 = 01). Dann noch den
Timer im CTC-Mode laufen lassen (OC1x als TOP), und fertig ist die
Laube.

von Michael Nagler (Gast)


Lesenswert?

Hallo Hansi,
Mit PWM läuft das Togglen komplett im Hintergrund. Einmal den Timer
korrekt initialisiert, brauchst Du Dich darum nicht mehr zu kümmern.

von Hansi (Gast)


Lesenswert?

Danke ihr beiden dann werd ich das mal so versuchen.

von Rahul (Gast)


Lesenswert?

OCR1 muss dann natürlich auf die halbe Periodendauer eingestellt sein...

von Hansi (Gast)


Lesenswert?

Zur Berechnung hab ich mich hier über andere Threads schon schlau
gemacht.
Mir ging es wie gesagt nur um das "im Hintergrund laufen".
Aber wenn ihr Profis sagt es geht...alles klaro ;-)

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.