エレキジャック Web版 mbedで初めてのマイコン開発 メモリカードを使ったデータの読み書き<2/3> 音符データをSDから読み込んで音楽を鳴らすプログラムです。 音楽データはエレキジャックのサイトに置いてあります。 music.txt http://www.eleki-jack.com/arm/2010/12/mbed-6.html
Dependencies: TextLCD mbed SDFileSystem
main.cpp@0:f0cd2b9de695, 2011-02-04 (annotated)
- Committer:
- sunifu
- Date:
- Fri Feb 04 15:09:01 2011 +0000
- Revision:
- 0:f0cd2b9de695
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sunifu | 0:f0cd2b9de695 | 1 | #include "mbed.h" |
sunifu | 0:f0cd2b9de695 | 2 | #include "TextLCD.h" |
sunifu | 0:f0cd2b9de695 | 3 | #include "SDFileSystem.h" |
sunifu | 0:f0cd2b9de695 | 4 | #include "MySound.h" |
sunifu | 0:f0cd2b9de695 | 5 | |
sunifu | 0:f0cd2b9de695 | 6 | TextLCD lcd(p24, p26, p27, p28, p29, p30); |
sunifu | 0:f0cd2b9de695 | 7 | SDFileSystem sd(p5, p6, p7, p8, "sd") ; |
sunifu | 0:f0cd2b9de695 | 8 | MySound music(p21) ; |
sunifu | 0:f0cd2b9de695 | 9 | |
sunifu | 0:f0cd2b9de695 | 10 | |
sunifu | 0:f0cd2b9de695 | 11 | int main() { |
sunifu | 0:f0cd2b9de695 | 12 | char pitch ; |
sunifu | 0:f0cd2b9de695 | 13 | int scale; |
sunifu | 0:f0cd2b9de695 | 14 | char ln; |
sunifu | 0:f0cd2b9de695 | 15 | FILE *fp; |
sunifu | 0:f0cd2b9de695 | 16 | int n; |
sunifu | 0:f0cd2b9de695 | 17 | |
sunifu | 0:f0cd2b9de695 | 18 | if ( (fp = fopen("/sd/music.txt","r")) == NULL ) { |
sunifu | 0:f0cd2b9de695 | 19 | printf("Open Failed. \n") ; |
sunifu | 0:f0cd2b9de695 | 20 | return -1; |
sunifu | 0:f0cd2b9de695 | 21 | } |
sunifu | 0:f0cd2b9de695 | 22 | lcd.printf("Silent Night"); |
sunifu | 0:f0cd2b9de695 | 23 | |
sunifu | 0:f0cd2b9de695 | 24 | while( (n = fscanf(fp,"%c %d %c ",&pitch,&scale,&ln)) != EOF ){ |
sunifu | 0:f0cd2b9de695 | 25 | printf("%d %c %d %c\n",n,pitch,scale,ln); |
sunifu | 0:f0cd2b9de695 | 26 | music.play(pitch, scale, ln) ; |
sunifu | 0:f0cd2b9de695 | 27 | } |
sunifu | 0:f0cd2b9de695 | 28 | |
sunifu | 0:f0cd2b9de695 | 29 | fclose(fp) ; |
sunifu | 0:f0cd2b9de695 | 30 | } |