AUP_Lab7_RTOS
Dependencies: C12832 MMA7660 mbed-rtos mbed
Fork of AUP_Lab6_Music by
main.cpp
- Committer:
- BrentLei
- Date:
- 2015-07-08
- Revision:
- 3:640558c1c0d3
- Parent:
- 2:09ee85ab1717
- Child:
- 4:dbce53c4e44d
File content as of revision 3:640558c1c0d3:
#include "mbed.h" #include "C12832.h" #include "MMA7660.h" // 添加旋律播放相关文件 #include "SongPlayer.h" // 旋律数据 float note[18]= {1568.0,1396.9,1244.5,1244.5,1396.9,1568.0,1568.0,1568.0,1396.9, 1244.5,1396.9,1568.0,1396.9,1244.5,1174.7,1244.5,1244.5, 0.0 }; float duration[18]= {0.48,0.24,0.72,0.48,0.24,0.48,0.24,0.24,0.24, 0.24,0.24,0.24,0.24,0.48,0.24,0.48,0.48, 0.0 }; PwmOut led(D5); DigitalIn button_up(A2); DigitalIn button_center(D4); DigitalIn button_down(A3); C12832 lcd(D11, D13, D12, D7, D10); MMA7660 MMA(D14, D15); // 初始化D6引脚作为PWM用于驱动扬声器 SongPlayer mySpeaker(D6); double brightness = 1.0; double brightness_inc = 0.1; int main() { int bt_flag = 0; lcd.cls(); led.write(brightness); // 播放旋律 mySpeaker.PlaySong(note,duration,0.05); while (1) { bt_flag = 1; if(button_up==1) brightness -= brightness_inc; else if(button_down==1) brightness += brightness_inc; else if(button_center==1) brightness = (brightness>0.5)?1.0:0.0; else bt_flag = 0; if(bt_flag==1) { brightness = (brightness>1.0)?0.0:brightness; brightness = (brightness<0.0)?1.0:brightness; led.write(brightness); } lcd.locate(0, 0); lcd.printf("Brightness = %.1f\r\n", 1.0 - brightness); lcd.printf("x=%.2f y=%.2f z=%.2f", MMA.x(), MMA.y(), MMA.z()); wait(0.2); } }