
for utkalika use
Fork of adc_timer_try7 by
Diff: main.cpp
- Revision:
- 0:bf25fa7f7ff8
- Child:
- 1:b53c17a4b4b0
- Child:
- 2:4fd32be5bee3
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Tue Jan 15 08:31:02 2013 +0000 @@ -0,0 +1,92 @@ +#include "mbed.h" +#include "adc.h" +#define SAMPLE_RATE 150000 + +#define NUM 200 + + +InterruptIn button(p5); +//AnalogIn ain(p20); +DigitalOut pin10(p10); +DigitalOut flash(p11); +ADC adc(SAMPLE_RATE, 1); +LocalFileSystem local("local"); + +float adcData[2001]; +float test[10]; +//FILE *fp = fopen("/local/adc_1.txt", "w"); +int i=0; +int k=0; + +void flip() { + int ary[] = {1, 3, 5, 9, 11, 13, 15, 17, 19, 21}; +// int *a; + + if(i<2001){ + + adc.select(p20); + adc.start(); // Start ADC conversion + while(!adc.done(p20)); // Wait for it to complete + adcData[i] = adc.read(p20); // Get ADC data. +// adcData = ain; + pin10 = !pin10; // Invert test pin. +// fprintf(fp, "%3.4f\n",adcData*3.3); + if (k < 10) { + if (i == ary[k]){ + test[k] = adcData[i]; + k++; + } //ary + } //k + }//i +// else { +// fclose(fp); +// } + i++; + }//isr + +int main() { +// float adcData; +// adcData = 1.0; + FILE *fp = fopen("/local/adc_2.txt", "w"); + FILE *fp1 = fopen("/local/adc_3.txt", "w"); + int j = 0; + pin10 = 1; + adc.setup(p20,1); // Set up ADC on pin 20 +// adc.select(p20); // Measure pin 20 + +// FILE *fp = fopen("/local/adc_1.txt", "w"); + + button.rise(&flip); // attach the address of the flip function to the rising edge + while(1) { // wait around, interrupts will interrupt this! + +// pin10 = 1; +// fprintf(fp, "%f\n",adcData); + if (i>=2000) { + for (j = 0; j<2000; j++) { + fprintf(fp, "i = %d, j = %d, d = %3.4f\n", i, j, adcData[j]*3.3); + } + fclose(fp); + for (j = 0; j<10; j++) { + fprintf(fp1, "i = %d, j = %d, d = %3.4f\n", i, j, test[j]*3.3); + } + fclose(fp1); + } + else { + + flash = !flash; + + wait(0.25); + } +// i++; +// if(i == 200) +// { +// fclose(fp); + // } + } + +} + + + + + \ No newline at end of file