yasuyuki onodera
/
mbed_Ampere
USB current meter for TG-LPC11U35-501
main.cpp
- Committer:
- yasuyuki
- Date:
- 2015-09-26
- Revision:
- 2:d6fcc8bfc037
- Parent:
- 0:4286edef4003
File content as of revision 2:d6fcc8bfc037:
//********************** // USB current meter for mbed // // LPC1768 flash=512KB, ADC=12bits // LPC11U35 flash=64KB, ADC=10bits // Nucleo ADC=12bits // // (C)Copyright 2014 All rights reserved by Y.Onodera // http://einstlab.web.fc2.com //********************** #include "mbed.h" #include "AQM0802.h" //#pragma O0 //#pragma O1 //#pragma O2 //#pragma O3 // default //#pragma Otime // default //#pragma Ospace #if defined(TARGET_LPC1768) I2C i2c(p28,p27); AnalogIn ain(p15); #endif // for TG-LPC11U35-501 #if defined(TARGET_LPC11U35_501) I2C i2c(P0_5,P0_4); AnalogIn ain(P0_11); #endif // for Nucleo #if defined(TARGET_NUCLEO_F401RE) I2C i2c(D14,D15); AnalogIn ain(PA_0); #endif AQM0802 lcd(i2c); Ticker tic; void display() { char msg[10]; int mA; static int mAh=0; // current mA = ain.read()*3.3*1000; mAh+=mA; if(mAh/3600>99999)mAh=0; // overflow sprintf(msg," %4dmA ",mA); lcd.locate(0,0); lcd.print(msg); sprintf(msg,"%5dmAh",mAh/3600); lcd.locate(0,1); lcd.print(msg); } int main() { tic.attach(&display,1); // Do not exceed 2147sec while(true) { } }