Code to transfer 400 data points of a sine wave to a MATLAB program.

Dependencies:   USBDevice mbed

Committer:
MCubed4
Date:
Thu Jul 10 22:20:51 2014 +0000
Revision:
0:f3fb19f954b4
ADC input code for sine wave creation

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MCubed4 0:f3fb19f954b4 1 #include "mbed.h"
MCubed4 0:f3fb19f954b4 2
MCubed4 0:f3fb19f954b4 3 Serial pc(USBTX, USBRX); //creates serial line to talk with matlab
MCubed4 0:f3fb19f954b4 4 BusIn ADC(p20, p19, p18, p17, p16, p15, p14, p13); //creates a bus input to take in ADC value
MCubed4 0:f3fb19f954b4 5 int dataIn[400]; //data storage array
MCubed4 0:f3fb19f954b4 6 DigitalOut myled(LED1); //heartbeat led for data acquisition
MCubed4 0:f3fb19f954b4 7 int buf[128]; //code execution data array
MCubed4 0:f3fb19f954b4 8
MCubed4 0:f3fb19f954b4 9 int main(){
MCubed4 0:f3fb19f954b4 10 if (pc.readable()) {
MCubed4 0:f3fb19f954b4 11 //WAV 0 END \n \0
MCubed4 0:f3fb19f954b4 12 //use buf[3] as a 0 just as a parity bit
MCubed4 0:f3fb19f954b4 13 pc.gets(buf, 16);
MCubed4 0:f3fb19f954b4 14 if ((buf[0] == 'W')&&(buf[1] == 'A')&&(buf[2] == 'V')&&(buf[4] == 'E')&&(buf[5] == 'N')&&(buf[6] == 'D')) {
MCubed4 0:f3fb19f954b4 15 ADC.mode(PullNone); //sets the mode to pull none
MCubed4 0:f3fb19f954b4 16 for(int i = 0; i < 400; i++){ //acquires ADC values for 400 data points with 2 ms delays
MCubed4 0:f3fb19f954b4 17 myled = 1;
MCubed4 0:f3fb19f954b4 18 wait(0.001);
MCubed4 0:f3fb19f954b4 19 myled = 0;
MCubed4 0:f3fb19f954b4 20 wait(0.001); //gives delay prior to each reading to ensure different values
MCubed4 0:f3fb19f954b4 21 dataIn[i] = ADC.read();
MCubed4 0:f3fb19f954b4 22 }
MCubed4 0:f3fb19f954b4 23 for(int i = 0; i < 400; i++){ //prints data point values to computer
MCubed4 0:f3fb19f954b4 24 printf("ADC value is %d\n\r", dataIn[i]);
MCubed4 0:f3fb19f954b4 25 }
MCubed4 0:f3fb19f954b4 26
MCubed4 0:f3fb19f954b4 27 } // end of if( buffer read)
MCubed4 0:f3fb19f954b4 28 } // end of if(pc.readable())
MCubed4 0:f3fb19f954b4 29
MCubed4 0:f3fb19f954b4 30 return 1;
MCubed4 0:f3fb19f954b4 31
MCubed4 0:f3fb19f954b4 32 }