Frequenz ausgeben (AVR)

Gast #275109
Lesenswert?
• ▲
▼
Bin Anfänger auf dem Gebiet AVR und hab da mal ne frage:
Wie kann ich z.B. beim Tiny2313 eine Frequenz von 38KHz ausgeben?
Ich habe mir gedacht evtl. über nen Timer interrupt. Das raffe ich aber
absolut noch nicht. Könnte mir evtl. jemand ein Codebeispiel geben wie
ich die betroffenen register konfiguriere? Währe echt super nett (in C
oder Assembler).
Der AVR soll mit 4Mhz betrieben werden.

Mal ne andere Frage:
Wenn ich so eine Frequenz ausgebe, bleibt diese dann unbeeindruckt von
meinem anderen Programm? Sprich: Ändert sich an der Frequenz was, wenn
ich mein Programm ausführe?
#275112
Lesenswert?
• ▲
▼
Du kannst mit dem Timer sicherlich einen der OCxx-Pins toggeln
(zumindest geht das beim Tiny15, und das sogar ohne Interrupt).

Dann den passenden Vorteiler einschalten und den Timer in den CTC-Mode
und er klappert gemütlich mit der mittels OCR-Register eingestellten
Periode vor sich hin. Bei 4MHz Takt und 38kHz Frequenz dauert eine
Periode (4000000/38000) 105,26 Takte. Da beim Pin-Toggeln die Frequenz
halbiert würde (oder die Periode verdoppelt) sind es die Hälfte der
Takte bis zum Toggeln, also 53 Takte. Daher brauchst du Vorteiler 1:1
und OCR-Wert 53.

Und Toren (ein/ausschalten) kannst du diese 38kHz, indem du einfach den
Timer (Vorteiler) immer ein- und aus schaltest, so, wie es dein
Fernbedienungs-Telegramm erfordert. ;-)

...
Gast #275113
Lesenswert?
• ▲
▼
Dazu hätte ich dann noch eine Frage, möchte auch ne Frequenz aum Ausgang
realisieren, so wie Garfield...

Das mit dem TImer und em CTC mode ist mir klar, nut an welchen Pin kann
ich die Frequenz ausgeben, bzw von außen abnehmen? Brauch ich da nen PWM
Pin oder hat das damit gar nichts zu tun??
DANKE
#275119
Lesenswert?
• ▲
▼
Ich habe nun keine Lust, sowas speziell für den Tiny13 zu programmieren
und verweise daher auf eine (funktionierende) (Ton-) Frequenzerzeugung
mit Tiny15. Da wird Timer1 benutzt, wie er ohne Interrupt den OC-Pin
schaltet und dabei eine Melodie abspielt.

http://www.mikrocontroller.net/attachment.php/283378/melody.asm

Die etwas aktuellere Version findet man hier:

http://www.hanneslux.de/avr/melody/melody.html

...
Gast #275122
Lesenswert?
• ▲
▼
@Hannes: Deine Seite ist wirklich schön (vor allem für Anfänger) zu
lesen. Glückwunsch!
Hast du schon überlegt, Tutorien zu schreiben?
Die, die hier angeboten werden, erfordern wohl noch zuviel
Eigendenken...

8-)   (Hab halt ne Brille...)
Gast #275124
Lesenswert?
• ▲
▼
@Garfield: auf der von Hannes angegeben Seite ist wunderschön
beschrieben, wie man Töne (Frequenzen) mit einem Tiny15 erzeugt.
Aufgrund der Beschreibung sollte es problemlos möglich sein, mit jedem
anderen AVR Frequenzen zu erzeugen...
#275125
Lesenswert?
• ▲
▼
@Rahul:

Ich schreibe dieses HTML-Zeugs von Hand im Editor des Speedcommanders.
Um ein Tutorial für die hiesige Seite zu schreiben, müsste ich eine
weitere Beschreibungssprache erlernen, die man nirgeds sonst außer
Wikipedia und hier gebrauchen könnte. Dies ist die eigentliche Hürde,
warum ich nicht für die Artikelsammlung schreibe (von kleinen
Korrekturen und Ergänzungen abgesehen).

In diesen Melodiegenerator-Artikel habe ich aber besonders Wert darauf
gelegt, zu zeigen, dass alle nötigen Informationen einer einzigen
Quelle zu entnehmen sind, nämlich dem Datenblatt des Controllers. Wenn
du das für eine "Ohrfeige" für Diejenigen halten solltest, die
grundsätzlich keine Datenblätter lesen und stattdessen lieber gleich
das Forum fragen, dann könnte es sein, dass du Hellseher (ist das das
Gegenteil von "Schwarzseher"?) bist.

g

...

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.