for utkalika use

Dependencies:   mbed

Fork of adc_timer_try7 by Manas Savkoor

Committer:
manants
Date:
Sat Jan 19 10:04:28 2013 +0000
Revision:
2:4fd32be5bee3
Parent:
0:bf25fa7f7ff8
for temp usage

Who changed what in which revision?

UserRevisionLine numberNew contents of line
manants 0:bf25fa7f7ff8 1 #include "mbed.h"
manants 0:bf25fa7f7ff8 2 #include "adc.h"
manants 0:bf25fa7f7ff8 3 #define SAMPLE_RATE 150000
manants 0:bf25fa7f7ff8 4
manants 0:bf25fa7f7ff8 5 #define NUM 200
manants 0:bf25fa7f7ff8 6
manants 0:bf25fa7f7ff8 7
manants 0:bf25fa7f7ff8 8 InterruptIn button(p5);
manants 0:bf25fa7f7ff8 9 //AnalogIn ain(p20);
manants 0:bf25fa7f7ff8 10 DigitalOut pin10(p10);
manants 0:bf25fa7f7ff8 11 DigitalOut flash(p11);
manants 0:bf25fa7f7ff8 12 ADC adc(SAMPLE_RATE, 1);
manants 0:bf25fa7f7ff8 13 LocalFileSystem local("local");
manants 0:bf25fa7f7ff8 14
manants 2:4fd32be5bee3 15 float adcData[4097];
manants 2:4fd32be5bee3 16 float adcData2[4097];
manants 0:bf25fa7f7ff8 17 float test[10];
manants 0:bf25fa7f7ff8 18 //FILE *fp = fopen("/local/adc_1.txt", "w");
manants 0:bf25fa7f7ff8 19 int i=0;
manants 0:bf25fa7f7ff8 20 int k=0;
manants 0:bf25fa7f7ff8 21
manants 0:bf25fa7f7ff8 22 void flip() {
manants 0:bf25fa7f7ff8 23 int ary[] = {1, 3, 5, 9, 11, 13, 15, 17, 19, 21};
manants 0:bf25fa7f7ff8 24 // int *a;
manants 0:bf25fa7f7ff8 25
manants 2:4fd32be5bee3 26 if(i<4097){
manants 0:bf25fa7f7ff8 27
manants 0:bf25fa7f7ff8 28 adc.select(p20);
manants 0:bf25fa7f7ff8 29 adc.start(); // Start ADC conversion
manants 0:bf25fa7f7ff8 30 while(!adc.done(p20)); // Wait for it to complete
manants 0:bf25fa7f7ff8 31 adcData[i] = adc.read(p20); // Get ADC data.
manants 0:bf25fa7f7ff8 32 // adcData = ain;
manants 0:bf25fa7f7ff8 33 pin10 = !pin10; // Invert test pin.
manants 0:bf25fa7f7ff8 34 // fprintf(fp, "%3.4f\n",adcData*3.3);
manants 0:bf25fa7f7ff8 35 if (k < 10) {
manants 0:bf25fa7f7ff8 36 if (i == ary[k]){
manants 0:bf25fa7f7ff8 37 test[k] = adcData[i];
manants 0:bf25fa7f7ff8 38 k++;
manants 0:bf25fa7f7ff8 39 } //ary
manants 0:bf25fa7f7ff8 40 } //k
manants 0:bf25fa7f7ff8 41 }//i
manants 0:bf25fa7f7ff8 42 // else {
manants 0:bf25fa7f7ff8 43 // fclose(fp);
manants 0:bf25fa7f7ff8 44 // }
manants 0:bf25fa7f7ff8 45 i++;
manants 0:bf25fa7f7ff8 46 }//isr
manants 0:bf25fa7f7ff8 47
manants 0:bf25fa7f7ff8 48 int main() {
manants 0:bf25fa7f7ff8 49 // float adcData;
manants 0:bf25fa7f7ff8 50 // adcData = 1.0;
manants 0:bf25fa7f7ff8 51 FILE *fp = fopen("/local/adc_2.txt", "w");
manants 0:bf25fa7f7ff8 52 int j = 0;
manants 0:bf25fa7f7ff8 53 pin10 = 1;
manants 0:bf25fa7f7ff8 54 adc.setup(p20,1); // Set up ADC on pin 20
manants 0:bf25fa7f7ff8 55 // adc.select(p20); // Measure pin 20
manants 0:bf25fa7f7ff8 56
manants 0:bf25fa7f7ff8 57 // FILE *fp = fopen("/local/adc_1.txt", "w");
manants 0:bf25fa7f7ff8 58
manants 0:bf25fa7f7ff8 59 button.rise(&flip); // attach the address of the flip function to the rising edge
manants 0:bf25fa7f7ff8 60 while(1) { // wait around, interrupts will interrupt this!
manants 0:bf25fa7f7ff8 61
manants 0:bf25fa7f7ff8 62 // pin10 = 1;
manants 0:bf25fa7f7ff8 63 // fprintf(fp, "%f\n",adcData);
manants 2:4fd32be5bee3 64 if (i>=4097) {
manants 2:4fd32be5bee3 65 for (j = 0; j<4096; j++) {
manants 0:bf25fa7f7ff8 66 fprintf(fp, "i = %d, j = %d, d = %3.4f\n", i, j, adcData[j]*3.3);
manants 0:bf25fa7f7ff8 67 }
manants 0:bf25fa7f7ff8 68 fclose(fp);
manants 0:bf25fa7f7ff8 69 }
manants 0:bf25fa7f7ff8 70 else {
manants 0:bf25fa7f7ff8 71
manants 0:bf25fa7f7ff8 72 flash = !flash;
manants 0:bf25fa7f7ff8 73
manants 0:bf25fa7f7ff8 74 wait(0.25);
manants 0:bf25fa7f7ff8 75 }
manants 0:bf25fa7f7ff8 76 }
manants 0:bf25fa7f7ff8 77
manants 0:bf25fa7f7ff8 78 }
manants 0:bf25fa7f7ff8 79
manants 0:bf25fa7f7ff8 80
manants 0:bf25fa7f7ff8 81
manants 0:bf25fa7f7ff8 82
manants 0:bf25fa7f7ff8 83