Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
sound [2014/10/01 15:07] – esche | sound [2019/07/27 16:47] (aktuell) – huwi | ||
---|---|---|---|
Zeile 2: | Zeile 2: | ||
Neben visuellen Informationen an den Benutzer sind akustische Signale in eingebetteten Systemen wichtige Mittel in der Gestaltung von Mensch-Maschine-Schnittstellen. Das Generieren von einfachen Tönen ist noch vergleichsweise trivial aber Tonfolgen und Melodien erfordern dagegen eine recht aufwendige Programmierung. Neben der Tonfrequenz ist auch die Tondauer zu realisieren und das möglichst ohne gleich zwei Timer für den Tongenerator zu blockieren. Die Klasse //Sound// bietet dem Anwendungsentwickler die Möglichkeit einfache Töne, Tonfolgen und Melodien zu erzeugen. Im Folgenden die UML-Darstellung der Klasse Sound: | Neben visuellen Informationen an den Benutzer sind akustische Signale in eingebetteten Systemen wichtige Mittel in der Gestaltung von Mensch-Maschine-Schnittstellen. Das Generieren von einfachen Tönen ist noch vergleichsweise trivial aber Tonfolgen und Melodien erfordern dagegen eine recht aufwendige Programmierung. Neben der Tonfrequenz ist auch die Tondauer zu realisieren und das möglichst ohne gleich zwei Timer für den Tongenerator zu blockieren. Die Klasse //Sound// bietet dem Anwendungsentwickler die Möglichkeit einfache Töne, Tonfolgen und Melodien zu erzeugen. Im Folgenden die UML-Darstellung der Klasse Sound: | ||
- | >>>>>>>>>>> | + | > |
Auffällig ist, dass die Soundklasse als abstrakt gekennzeichnet ist. Da die von einem Timer generierte Tonfrequenz an einem PWM-Kanal ausgegeben wird, sind die Möglichkeiten, | Auffällig ist, dass die Soundklasse als abstrakt gekennzeichnet ist. Da die von einem Timer generierte Tonfrequenz an einem PWM-Kanal ausgegeben wird, sind die Möglichkeiten, | ||
- | >>>>>>>>>>>> | + | > |
====== Play it again Sam, again and again ===== | ====== Play it again Sam, again and again ===== | ||
Die Klasse //Sound// basiert auf der Verarbeitung einfacher Melodieskripte. Sie belegt einen PWM-fähigen 16 bit Timer. In der Regel Timer1. Es darf immer nur eine Instanz der Finalklassen SoundChanelX angelegt werden. Die Töne, Tonfolgen und die Melodie werden vollständig asynchron abgespielt. Das bedeutet, dass mit dem Aufruf der Operation // | Die Klasse //Sound// basiert auf der Verarbeitung einfacher Melodieskripte. Sie belegt einen PWM-fähigen 16 bit Timer. In der Regel Timer1. Es darf immer nur eine Instanz der Finalklassen SoundChanelX angelegt werden. Die Töne, Tonfolgen und die Melodie werden vollständig asynchron abgespielt. Das bedeutet, dass mit dem Aufruf der Operation // | ||
+ | |||
>< | >< | ||
Beispiel: | Beispiel: | ||
Zeile 64: | Zeile 65: | ||
Danach kann die Anwendung realisiert werden. Verbinden Sie zuvor den Speaker mit Port B Bit1 (OC1A, PWM-Chanel A). | Danach kann die Anwendung realisiert werden. Verbinden Sie zuvor den Speaker mit Port B Bit1 (OC1A, PWM-Chanel A). | ||
- | >>>>>>>>>>>>>>>> | + | > |
>< | >< | ||
Zeile 88: | Zeile 89: | ||
</ | </ | ||
- | >>>>>>>>>>>>>>> | + | > |
====== Melodien generieren ====== | ====== Melodien generieren ====== | ||
Zeile 158: | Zeile 159: | ||
Übersetzen, | Übersetzen, | ||
- | >>>>>>>>>>>>> | + | > |
====== Videozusammenfassung ====== | ====== Videozusammenfassung ====== | ||
Und weil es so schön war hier das Ganze noch mal als Video. | Und weil es so schön war hier das Ganze noch mal als Video. | ||
- | >>><flashplayer | + | ><html><iframe |
- | + | ||
- | >>> | + | |
====== Nächstes Thema ====== | ====== Nächstes Thema ====== | ||
[[usart|die UART in myAVR C++ anwenden]] | [[usart|die UART in myAVR C++ anwenden]] |