It's not my library, i just want to publish my program.
Fork of PWM_Tone_Library by
Revision 0:d06af372d384, committed 2015-07-24
- Comitter:
- justinkim
- Date:
- Fri Jul 24 05:01:45 2015 +0000
- Child:
- 1:4b841d62e529
- Child:
- 2:dd4ed6c28c87
- Commit message:
- bug fix
Changed in this revision
pwm_tone.cpp | Show annotated file Show diff for this revision Revisions of this file |
pwm_tone.h | Show annotated file Show diff for this revision Revisions of this file |
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pwm_tone.cpp Fri Jul 24 05:01:45 2015 +0000 @@ -0,0 +1,53 @@ +/* Includes ------------------------------------------------------------------*/ +#include "pwm_tone.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/** + * @brief Tune Function + * @param name : Choose the PwmOut + period : this param is tune value. (C_3...B_5) + beat : this param is beat value. (1..16) 1 means 1/16 beat + * @retval None + */ +void Tune(PwmOut name, int period, int beat) +{ + int delay; + + delay = beat*63; + name.period_us(period); + name.write(0.50f); // 50% duty cycle + wait_ms(delay); // 1 beat + name.period_us(0); // Sound off +} + +/** + * @brief Auto tunes Function + * @param name : Choose the PwmOut + period : this param is tune value. (C_3...B_5) + beat : this param is beat value. (1..16) 1 means 1/16 beat + * @retval None + */ +void Auto_tunes(PwmOut name, int period, int beat) +{ + int delay; + + delay = beat*63; + name.period_us(period); + name.write(0.50f); // 50% duty cycle + wait_ms(delay); +} + +/** + * @brief Stop tunes Function + * @param name : Choose the PwmOut + * @retval None + */ +void Stop_tunes(PwmOut name) +{ + name.period_us(0); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pwm_tone.h Fri Jul 24 05:01:45 2015 +0000 @@ -0,0 +1,49 @@ +/* Includes ------------------------------------------------------------------*/ +#include "mbed.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +#define Do3 131 //C octave3 +#define Do3s 139 //C# +#define Re3 147 //D +#define Re3s 156//D# +#define Mi3 165 //E +#define Fa3 175 //F +#define Fa3s 185 //F# +#define So3 196 //G +#define So3s 208 //G# +#define La3 220 //A +#define La3s 233 //A# +#define Ti3 247 //B +#define Do4 262 //C octave4 +#define Do4s 277 //C# +#define Re4 294 //D +#define Re4s 311//D# +#define Mi4 330 //E +#define Fa4 349 //F +#define Fa4s 370 //F# +#define So4 392 //G +#define So4s 415 //G# +#define La4 440 //A +#define La4s 466 //A# +#define Ti4 494 //B +#define Do5 523 //C octave5 +#define Do5s 554 //C# +#define Re5 587 //D +#define Re5s 622//D# +#define Mi5 659 //E +#define Fa5 699 //F +#define Fa5s 740 //F# +#define So5 784 //G +#define So5s 831 //G# +#define La5 880 //A +#define La5s 932 //A# +#define Ti5 988 //B + +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +void Tune(PwmOut name, int period, int beat); +void Auto_tunes(PwmOut name, int period, int beat); +void Stop_tunes(PwmOut name); + +/* Private functions ---------------------------------------------------------*/