Tadao Iida
/
VoiceRecorder
ハイパー・マイコン mbedでインターネット 電子工作 4章 リスト4-1 VoiceRecorderのプログラム
main.cpp@0:d9e4d33de26d, 2014-07-11 (annotated)
- Committer:
- sunifu
- Date:
- Fri Jul 11 14:20:25 2014 +0000
- Revision:
- 0:d9e4d33de26d
2014.07.11
Who changed what in which revision?
User | Revision | Line number | New 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 | } |