Yasushi TAUCHI
/
Sound_PWM_2
PWMによる音だし(疑似Sin波)
main.cpp
- Committer:
- yueee_yt
- Date:
- 2011-12-26
- Revision:
- 0:5a95bead7a47
- Child:
- 1:e1919d5190b3
File content as of revision 0:5a95bead7a47:
#define mC 261.626 #define mD 293.665 #define mE 329.628 #define mF 349.228 #define mG 391.995 #define mA 440.000 #define mB 493.883 #include "mbed.h" Ticker timer; PwmOut sp1(p25); float ms[180]; float m1; void sound_out(void) { static float j=0; j=j+m1; if(j>180)j=j-180; sp1.write(ms[(int)j]); } int main() { float mm[]={mC,mD,mE,mF,mG,mA,mB,mC*2}; int i; for (i=0;i<180;i++) { ms[i]=sin(2*3.1415*(float)i/180.0)/2.0+0.5; } sp1.period_us(10); for (i=0;i<sizeof(mm);i++) { m1=mm[i]*180/10000; timer.attach_us(&sound_out,100); wait(0.5f); } sp1.write(0.0f); while (1); }