Xu ZHANG
/
DEBUG_10K
to junhao
Diff: main.cpp
- Revision:
- 0:1b13f03ce7eb
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Thu Mar 08 14:38:32 2018 +0000 @@ -0,0 +1,53 @@ +#include "mbed.h" +#include "detectors.h" +#include "selection.h" +#include "cal.h" +#include <math.h> + + +int main() { + double Vin10k=3.3; + double Rs=300;//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.3f",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("Rx_measured=%0.6lf nF\n\r",Cx*1e9); + printf("Cx_measured=%0.3lf ohm\n\r",Rx); + printf("\n\r"); +}