ハイパー・マイコン mbedでインターネット 電子工作 4章 リスト4-1 VoiceRecorderのプログラム

Dependencies:   TextLCD mbed

Committer:
sunifu
Date:
Fri Jul 11 14:20:25 2014 +0000
Revision:
0:d9e4d33de26d
2014.07.11

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sunifu 0:d9e4d33de26d 1 #include "mbed.h"
sunifu 0:d9e4d33de26d 2 #include "TextLCD.h"
sunifu 0:d9e4d33de26d 3
sunifu 0:d9e4d33de26d 4 AnalogIn in(p20);
sunifu 0:d9e4d33de26d 5 AnalogOut out(p18);
sunifu 0:d9e4d33de26d 6 DigitalIn playsw(p21) ;
sunifu 0:d9e4d33de26d 7 DigitalIn recordsw(p22);
sunifu 0:d9e4d33de26d 8
sunifu 0:d9e4d33de26d 9 DigitalOut led1(LED1);
sunifu 0:d9e4d33de26d 10 DigitalOut led4(LED4);
sunifu 0:d9e4d33de26d 11
sunifu 0:d9e4d33de26d 12 TextLCD lcd(p24, p26, p27, p28, p29, p30);
sunifu 0:d9e4d33de26d 13
sunifu 0:d9e4d33de26d 14 #define N 13000
sunifu 0:d9e4d33de26d 15 unsigned short buf[N];
sunifu 0:d9e4d33de26d 16
sunifu 0:d9e4d33de26d 17 void read(void) {
sunifu 0:d9e4d33de26d 18 int i;
sunifu 0:d9e4d33de26d 19 for ( i = 0 ; i < N ; i++ ){
sunifu 0:d9e4d33de26d 20 buf[i] = in.read_u16();
sunifu 0:d9e4d33de26d 21 wait(0.0002);
sunifu 0:d9e4d33de26d 22 }
sunifu 0:d9e4d33de26d 23 }
sunifu 0:d9e4d33de26d 24
sunifu 0:d9e4d33de26d 25 void write(void) {
sunifu 0:d9e4d33de26d 26 int i;
sunifu 0:d9e4d33de26d 27 for ( i = 0 ; i < N ; i++ ){
sunifu 0:d9e4d33de26d 28 out.write_u16(buf[i]) ;
sunifu 0:d9e4d33de26d 29 wait(0.0002);
sunifu 0:d9e4d33de26d 30 }
sunifu 0:d9e4d33de26d 31 }
sunifu 0:d9e4d33de26d 32
sunifu 0:d9e4d33de26d 33
sunifu 0:d9e4d33de26d 34 int main() {
sunifu 0:d9e4d33de26d 35 while(1) {
sunifu 0:d9e4d33de26d 36 if ( recordsw == 1 ){
sunifu 0:d9e4d33de26d 37 lcd.locate(0,0) ;
sunifu 0:d9e4d33de26d 38 lcd.printf(" --- Record --- ");
sunifu 0:d9e4d33de26d 39 led1 = 1;
sunifu 0:d9e4d33de26d 40 read() ;
sunifu 0:d9e4d33de26d 41 led1 = 0;
sunifu 0:d9e4d33de26d 42 lcd.cls( ) ;
sunifu 0:d9e4d33de26d 43 }
sunifu 0:d9e4d33de26d 44 if ( playsw == 1 ){
sunifu 0:d9e4d33de26d 45 lcd.locate(0,0) ;
sunifu 0:d9e4d33de26d 46 lcd.printf(" --- Play --- ");
sunifu 0:d9e4d33de26d 47 led4 = 1 ;
sunifu 0:d9e4d33de26d 48 write();
sunifu 0:d9e4d33de26d 49 led4 = 0 ;
sunifu 0:d9e4d33de26d 50 lcd.cls( ) ;
sunifu 0:d9e4d33de26d 51 }
sunifu 0:d9e4d33de26d 52 }
sunifu 0:d9e4d33de26d 53 }