sound.c-Dateireferenz

Soundausgabe Funktionen. Mehr ...

#include "asuro.h"

gehe zum Quellcode dieser Datei

Makrodefinitionen

#define BEEP   sound(1000, 100, 255)

Funktionen

void Sound (uint16_t freq, uint16_t duration_msec, uint8_t amplitude)
 Soundausgabe ueber die Motoren.


Ausführliche Beschreibung

Soundausgabe Funktionen.

Mit den Motoren des ASUROs lassen sich auch Töne erzeugen.
Das Prinzip dahinter ist folgendes:
Die Frequenz des Tons wird durch umschalten der Motor Drehrichtung bestimmt.
Die Lautstärke wird über die Geschwindigkeit der Motoren bestimmt.
Theoretisch liessen sich damit auch Stereo Signale erzeugen, da es ja zwei
Motoren gibt, die sich auch getrennt ansteuern lassen. Dazu müßte die
Sound Funktion allerdings umgeschrieben werden.

Definiert in Datei sound.c.


Makro-Dokumentation

#define BEEP   sound(1000, 100, 255)

Definiert in Zeile 72 der Datei sound.c.


Dokumentation der Funktionen

void Sound ( uint16_t  freq,
uint16_t  duration_msec,
uint8_t  amplitude 
)

Soundausgabe ueber die Motoren.

Parameter:
[in] freq Frequenz in Hz
[in] duration_msec Laenge in Millisekunden
[in] amplitude Amplitude
Autor:
stochri
Version:
sto2 - 1.09.2006 stochri
first version
   // Laesst den Asuro einen Ton von 1kHz für eine 1/2 Sekunde mit max. Amplitude spielen
   Sound(1000, 500, 255);

Definiert in Zeile 46 der Datei sound.c.

00047 {
00048   uint16_t n,k,wait_tics;
00049   uint32_t period_usec,dauer_usec;
00050 
00051   period_usec=1000000L/freq;
00052   dauer_usec=1000*duration_msec;
00053   k=dauer_usec/period_usec;
00054 
00055 //IR Interuptfreq=36KHz
00056 //Wavefreq=18KHz
00057 
00058   wait_tics=18000/freq;
00059 
00060   MotorSpeed(amplitude,amplitude);
00061 
00062   for (n=0;n<k;n++)
00063   {
00064     MotorDir(FWD,FWD);
00065     Sleep(wait_tics);
00066     MotorDir(RWD,RWD);
00067     Sleep(wait_tics);
00068   }
00069   MotorSpeed(0,0);
00070 }


Erzeugt am Wed Feb 14 16:10:02 2007 für ASURO Library von  doxygen 1.5.1-p1