AFSD

Dependencies:   mbed

Fork of DEBUG_10K by Xu ZHANG

main.cpp

Committer:
junhaozhang
Date:
2018-03-08
Revision:
1:2967e2507d52
Parent:
0:1b13f03ce7eb
Child:
2:d93488b7eec5

File content as of revision 1:2967e2507d52:

#include "mbed.h"
#include "detectors.h"
#include "selection.h"
#include "cal.h"
#include <math.h>


int main() {
    double Vin10k=3.3;
    double Rs=2.7e03;//ohm
    int typeSP=1;//type 1-series or 2-parallel
    double Ro=33;//ohm
    double f=10000;//Hz
     
    double  pulse0=0;//measured quantity
    double angle=0;//measured quantity
    double Vo=0,Vo2=0,Vo3=0;
    
    double z=0;
    
    double Zx=0;//result
    double Rx=0,Cx=0;
  
    VAddr(10);
    //RAddr(2);
    wait (0.5);
    pulse0=countPulse0();
    Vo=peakDetector();
    
    
    /*wait (2);
    printf("wait\n\r");
    pulse0=countPulse0Debug();
    Vo=peakDetectorDebug ();*/
 
    angle=pwToAngle(pulse0);
    z= cal_z(Vin10k,Vo,Rs);
    printf("ave Vo=%0.3f\n\r",Vo);
    printf("ave-pulse0=%0.3f\n\r",pulse0);
    printf("angle_measure=%0.3lf\n\r",(double)angle);
    

    cal_Zx (z,angle,f,typeSP,Ro,&Zx,&Cx,&Rx);
    printf("|Zx|measured=%0.3lf ohm\n\r",Zx);
    
    if (typeSP==1) printf("in series\n\r");
    else  if (typeSP==2) printf("in parallel\n\r");
    else     printf("wrong type series/paralle?\n\r");
    
    printf("Cx_measured=%0.6lf nF\n\r",Cx*1e9);
    printf("Rx_measured=%0.3lf ohm\n\r",Rx);
    
    
    printf("wait\n\r");
    wait (2);
    pulse0=countPulse0();
    Vo=peakDetector();
    
    
    /*wait (2);
    printf("wait\n\r");
    pulse0=countPulse0Debug();
    Vo=peakDetectorDebug ();*/
 
    angle=pwToAngle(pulse0);
    z= cal_z(Vin10k,Vo,Rs);
    printf("ave Vo=%0.3f\n\r",Vo);
    printf("ave-pulse0=%0.3f\n\r",pulse0);
    printf("angle_measure=%0.3f\n\r",angle);
    

    cal_Zx (z,angle,f,typeSP,Ro,&Zx,&Cx,&Rx);
    printf("|Zx|measured=%0.3lf ohm\n\r",Zx);
    
    if (typeSP==1) printf("in series\n\r");
    else  if (typeSP==2) printf("in parallel\n\r");
    else     printf("wrong type series/paralle?\n\r");
    
    printf("Cx_measured=%0.6lf nF\n\r",Cx*1e9);
    printf("Rx_measured=%0.3lf ohm\n\r",Rx);
    printf("\n\r");
}