test AnalogIn_Diff.lib for board K64F

Dependencies:   AnalogIn_Diff_ok mbed

main.cpp

Committer:
fblanc
Date:
2014-07-10
Revision:
0:9eeda5b17b5b
Child:
1:c340607e4661

File content as of revision 0:9eeda5b17b5b:

#include "mbed.h"
#include "math.h"
#include "MovingAverage.h"
//USBSerial pc;
struct{
double   gain;
double   offset;
//AnalogIn adc;
    }adc_volt,adc_curr;
Serial pc(USBTX, USBRX);
AnalogIn adc_1(PTB2);
AnalogIn adc_2(PTB3);
Ticker flipperADC;
DigitalOut led1(LED_RED);
DigitalOut led2(LED_GREEN);
DigitalOut led3(LED_BLUE);
MovingAverage<float> Trms_float(100,0);
MovingAverage<int> Trms_int(100,0);
void flipADC() {
    led1=1;
    int val_i32=adc_2.read_u16()-adc_1.read_u16(); //read ADC
    
    float val=((float)val_i32*adc_volt.gain)-adc_volt.offset;
    Trms_float.Insert(val*val);
   led1=0;
  }

int main() {
    
pc.baud(115200);
adc_volt.gain=3.3/65535.0;
adc_volt.offset=0.0;

    flipperADC.attach_us(&flipADC, 200); //200µs

    led1=1;
    led2=0;
    led3=1;
    while (true) {
        
        wait (1); 
        led3=1;

        pc.printf("RMS=%0.3f \r\n",sqrt(Trms_float.GetAverage()));
        led3=0;
    }
}