mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik OC0 alsTakt?


Autor: Hansi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Rahul (Gast)
Datum:

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

Autor: Michael Nagler (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Hansi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh logisch!
OC1A meinte ich natürlich :-)

Autor: Hansi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Michael Nagler (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Michael Nagler (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Hansi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke ihr beiden dann werd ich das mal so versuchen.

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OCR1 muss dann natürlich auf die halbe Periodendauer eingestellt sein...

Autor: Hansi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ;-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.