Archiv verlassen und diese Seite im Standarddesign anzeigen : M32 Soundbefehl
fulltime
22.12.2011, 17:28
sound(...,...,...);
Hy Leute ich möchte gerne wissen, welcher der drei Parametern was ist?
Das erste ist glaube ich die Frequenz, das zweite Zeit, aber was ist das letzte?
radbruch
22.12.2011, 17:56
Hallo
Im Gegensatz zu beep() erzeugt sound() eine zusätzliche Pause nach dem Ton. Die Funktion in RP6ControlLib.h:
#define sound(_pitch_,_time_,_delay_) {beep(_pitch_,_time_);mSleep(_delay_ + _time_);}
Das bedeutet, sound(tonhöhe, dauer, pause) macht das: beep(tonhöhe, dauer); mSleep(pause);
Beschrieben wird das in RP6ControlLib.c beim beep():
/**
* You can use this function to make the beeper beep ;)
* But this function should not be used as it does not
* generate a delay for the sound and a delay between
* two sounds. Better is to use the "sound" macro, which
* uses this function and adds the required delays.
*
* "sound(pitch,time,delay)"
*
* 0 = lowest frequency
* 255 = highest frequency
*
* Example:
* sound(150,50,25);
* sound(200,50,25);
*
* Of course the function "beep" is nice to generate
* sounds when you need to do other things at the same
* time...
*/
void beep(uint8_t pitch, uint16_t time)
{
controlStatus.beep = true;
sound_timer = time;
OCR2 = 255-pitch;
TCCR2 = (1 << WGM21) | (1 << COM20) | (1 << CS22) | (1 << CS21);
}
Mehr Infos zu beep():
https://www.roboternetz.de/community/threads/46136-Frequenz-beim-Beeper?
Gruß
mic
fulltime
23.12.2011, 16:08
Danke für die rasche Antwort! :)
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.