mbed歌曲City of stars代码
时间: 2024-02-25 22:51:39 浏览: 18
以下是一个简单的mbed歌曲 "City of Stars" 代码示例:
```c++
#include "mbed.h"
#include "Speaker.h"
// 定义 Speaker 对象
Speaker speaker(p25);
// 定义歌曲数组
int notes[] = {
NOTE_E5, NOTE_E5, NOTE_E5, NOTE_C5, NOTE_E5, NOTE_G5, NOTE_G4, NOTE_C5,
NOTE_G4, NOTE_E4, NOTE_A4, NOTE_B4, NOTE_AS4, NOTE_A4, NOTE_G4, NOTE_E5,
NOTE_G5, NOTE_A5, NOTE_F5, NOTE_G5, NOTE_E5, NOTE_C5, NOTE_D5, NOTE_B4,
NOTE_C5, NOTE_G4, NOTE_E4, NOTE_A4, NOTE_B4, NOTE_AS4, NOTE_A4, NOTE_G4,
NOTE_E5, NOTE_G5, NOTE_A5, NOTE_F5, NOTE_G5, NOTE_E5, NOTE_C5, NOTE_D5,
NOTE_B4, NOTE_C5, NOTE_G4, NOTE_E4, NOTE_A4, NOTE_B4, NOTE_AS4, NOTE_A4,
NOTE_G4, NOTE_E5, NOTE_G5, NOTE_A5, NOTE_F5, NOTE_G5, NOTE_E5, NOTE_C5,
NOTE_D5, NOTE_B4, NOTE_C5, NOTE_G4, NOTE_E4, NOTE_A4, NOTE_B4, NOTE_AS4,
NOTE_A4, NOTE_G4, NOTE_E5, NOTE_G5, NOTE_A5, NOTE_F5, NOTE_G5, NOTE_E5,
NOTE_C5, NOTE_D5, NOTE_B4, NOTE_C5, NOTE_G4, NOTE_E4, NOTE_C5, NOTE_C5,
NOTE_D5, NOTE_E5, NOTE_C5, NOTE_A4, NOTE_G4, NOTE_C5, NOTE_G4, NOTE_E4,
NOTE_A4, NOTE_B4, NOTE_AS4, NOTE_A4, NOTE_G4, NOTE_E5, NOTE_G5, NOTE_A5,
NOTE_F5, NOTE_G5, NOTE_E5, NOTE_C5, NOTE_D5, NOTE_B4, NOTE_C5, NOTE_G4,
NOTE_E4, NOTE_A4, NOTE_B4, NOTE_AS4, NOTE_A4, NOTE_G4, NOTE_E5, NOTE_G5,
NOTE_A5, NOTE_F5, NOTE_G5, NOTE_E5, NOTE_C5, NOTE_D5, NOTE_B4, NOTE_C5,
NOTE_G4, NOTE_E4, NOTE_C5
};
// 定义节拍数组
int durations[] = {
4, 4, 4, 2, 4, 4, 2, 4,
2, 4, 2, 2, 2, 2, 2, 4,
4, 4, 2, 4, 4, 2, 4, 2,
2, 2, 2, 2, 2, 2, 2, 4,
4, 4, 2, 4, 4, 2, 4, 2,
2, 2, 2, 2, 2, 2, 2, 4,
4, 4, 2, 4, 4, 2, 4, 2,
2, 2, 2, 2, 2, 2, 2, 4,
4, 4, 2, 4, 4, 2, 4, 2,
2, 2, 2, 2, 2, 2, 2, 4,
4, 4, 2, 4, 4, 2, 4, 2,
2, 2, 2, 2, 2, 2, 2, 4,
4, 4, 2, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 2
};
int main() {
// 循环播放歌曲
while(1) {
for(int i = 0; i < sizeof(notes)/sizeof(int); i++) {
speaker.PlayTone(notes[i], durations[i]);
wait_ms(durations[i] * 200);
}
}
}
```
在这个例子中,我们使用了 Speaker 库来控制蜂鸣器播放音调,定义了一个歌曲数组和节拍数组,然后在 `main` 函数中循环播放歌曲。这个例子中的歌曲是 "City of Stars"。