![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
Code to transfer 400 data points of a sine wave to a MATLAB program.
main.cpp@0:f3fb19f954b4, 2014-07-10 (annotated)
- 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?
User | Revision | Line number | New 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 | } |