
for utkalika use
Fork of adc_timer_try7 by
main.cpp@2:4fd32be5bee3, 2013-01-19 (annotated)
- 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?
User | Revision | Line number | New 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 |