mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PWM aus int. 4MHz => 250Hz


Autor: Bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Ich habe eine Frage und zwar wie mache ich aus einem 4MHz internen Takt
ein 250 Hz moduliertes Signal??
Ich glaube eine 9bit PWM wäre hier am besten, aber was weiß schon ich
=)

Hat vielleicht jemand zufällig solch einen, zumindest ähnlichen Code,
der in C geschrieben ist?? wäre mir sehr sehr hilfreich!

vielen dank im voraus
Bernd

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Ich habe eine Frage und zwar wie mache ich aus einem 4MHz internen
Takt
ein 250 Hz moduliertes Signal??"


Ich sach mal, es gibt mindestens 100 verschiedene
Modulationsverfahren.

Da mußt Du schon etwas präziser werden (AM, SSB, FM ... ?).


Peter

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Noch ne Frage: sollen die 4MHz oder die 250Hz moduliert werden :-)

Welcher µP ? Welches Datenblatt ?

Autor: Bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
so mein problem mit den 250Hz hat sich jetzt gelöst.
Verwende jetzt meine 4MHz internen Takt und dieser wird mit der 9bit
PWM über den daumen gerechnet auf 4kHz verkleinert (dies ist langsam
genug für meine aufgabe).

Nein Problem ist jetzt, dass ich ein gewisses bitmuster (1 byte groß)
von der UART einlese. Dieses Byte soll dan PWM moduliert werden, d.h.
auf 4kHz "verlangsamt" und dann wieder raus geschrieben werden, an
irgend einem freien port.

Hat jemand an kleines PWM programmierbsp für mich??

mfg hannes

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Hat jemand an kleines PWM programmierbsp für mich??

Vielleicht bin ich nicht der einzige Leser, dem es so
geht: Ich hab noch nicht mal verstanden was Du eigentlich
machen möchtest.

Autor: Unbekannter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Karl, Du bist nicht der einzige...

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe noch ne Frage. Bist Du Bernd oder Hannes ?

Autor: Bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Michael: Ich heiße Hannes Bernd(2ter name) Schwarz - nur die Leute
sagen alle Bernd zu mir =)

Hmm, heut klappt es nicht ganz mit meinen Erklärungen bzw. Fragen.

Ich probier es noch einmal ganz konkret.

> 1) ich lese über die UART regelmäßig ein Byte ein
> 2) zu diesem Byte werden 0x80 dazu addiert, da ich nicht bei 0
beginnen kann (ist bei meinem Programm so)
> daraus folgt ein Übertrag im HByte
> 3) jetzt sollten meine 2Byte ins Compareregister geschrieben werden
> als erstes das HByte, dann das LByte

> 4) diese werden jetzt statt mit 4MHz, mit ungefähr 4kHz am OC1A
hinausgeschrieben

meine Timerinitialisierung bisher lautet:

TCCR1A = 0x82;  // non-inverted 9bit PWM
TCCR1B = 0x01;  // CK

wird OC1A dann automatisch als ausgang gesetzt??
eigentlich doch schon ...... wird ja mit meinem NON-INVERTED auf 1
gesetzt oder?

Das ist eigentlich alles was ich machen will, komm nur noch nicht ganz
klar damit, wie ich die 2Byte ins Compareregister schreibe (zuerst H-
und dann L-Byte)

Ich hoffe ihr versteht mich jetzt =)

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also OC1A muß per DDRx = 1 als Ausgang aktiviert werden.
OCR1H muß zuerst geschrieben werden (landet in einem temp-Register),
dann OCR1L, welches beide Bytes übernimmt.

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.