Philips Philips
/
microphonetospeaker
Read samples from analog input ADC and outputs to DAC,outputs to speaker, like a karaoke machine lol
main.cpp@0:32b3a9352bd2, 2011-05-28 (annotated)
- Committer:
- mbed2f
- Date:
- Sat May 28 01:08:01 2011 +0000
- Revision:
- 0:32b3a9352bd2
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mbed2f | 0:32b3a9352bd2 | 1 | #include "mbed.h" |
mbed2f | 0:32b3a9352bd2 | 2 | |
mbed2f | 0:32b3a9352bd2 | 3 | /* ADC for the microphone/input, DAC for the speaker/output */ |
mbed2f | 0:32b3a9352bd2 | 4 | AnalogIn mic(p19); |
mbed2f | 0:32b3a9352bd2 | 5 | AnalogOut speaker(p18); |
mbed2f | 0:32b3a9352bd2 | 6 | |
mbed2f | 0:32b3a9352bd2 | 7 | #define NUM_SAMPLES 15000 |
mbed2f | 0:32b3a9352bd2 | 8 | unsigned short buffer[NUM_SAMPLES]; |
mbed2f | 0:32b3a9352bd2 | 9 | |
mbed2f | 0:32b3a9352bd2 | 10 | int main() |
mbed2f | 0:32b3a9352bd2 | 11 | { |
mbed2f | 0:32b3a9352bd2 | 12 | int i; |
mbed2f | 0:32b3a9352bd2 | 13 | for (i = 0; ; ) // infinite loop |
mbed2f | 0:32b3a9352bd2 | 14 | { |
mbed2f | 0:32b3a9352bd2 | 15 | /* read mike */ |
mbed2f | 0:32b3a9352bd2 | 16 | buffer[i] = mic.read_u16(); |
mbed2f | 0:32b3a9352bd2 | 17 | /* Write to speaker */ |
mbed2f | 0:32b3a9352bd2 | 18 | speaker.write_u16(buffer[i]); |
mbed2f | 0:32b3a9352bd2 | 19 | /* Increment index and wrap around */ |
mbed2f | 0:32b3a9352bd2 | 20 | i = (i+1) % NUM_SAMPLES; |
mbed2f | 0:32b3a9352bd2 | 21 | } |
mbed2f | 0:32b3a9352bd2 | 22 | } |