00001
00016
00017
00018
00019
00020
00021
00022
00023
00024 #include "asuro.h"
00025
00046 void Sound(uint16_t freq, uint16_t duration_msec, uint8_t amplitude)
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
00056
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 }
00071
00072 #define BEEP sound(1000, 100, 255)
00073