USB current meter for TG-LPC11U35-501

Dependencies:   AQM0802 mbed

Committer:
yasuyuki
Date:
Sun Jun 22 09:44:50 2014 +0000
Revision:
0:4286edef4003
Child:
2:d6fcc8bfc037
first revision

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yasuyuki 0:4286edef4003 1 //**********************
yasuyuki 0:4286edef4003 2 // USB current meter for mbed
yasuyuki 0:4286edef4003 3 //
yasuyuki 0:4286edef4003 4 // LPC1768 flash=512KB, ADC=12bits
yasuyuki 0:4286edef4003 5 // LPC11U35 flash=64KB, ADC=10bits
yasuyuki 0:4286edef4003 6 // Nucleo ADC=12bits
yasuyuki 0:4286edef4003 7 //
yasuyuki 0:4286edef4003 8 // (C)Copyright 2014 All rights reserved by Y.Onodera
yasuyuki 0:4286edef4003 9 // http://einstlab.web.fc2.com
yasuyuki 0:4286edef4003 10 //**********************
yasuyuki 0:4286edef4003 11 #include "mbed.h"
yasuyuki 0:4286edef4003 12 #include "AQM0802.h"
yasuyuki 0:4286edef4003 13
yasuyuki 0:4286edef4003 14 //#pragma O0
yasuyuki 0:4286edef4003 15 //#pragma O1
yasuyuki 0:4286edef4003 16 //#pragma O2 // default
yasuyuki 0:4286edef4003 17 //#pragma O3
yasuyuki 0:4286edef4003 18 //#pragma Otime
yasuyuki 0:4286edef4003 19 //#pragma Ospace
yasuyuki 0:4286edef4003 20
yasuyuki 0:4286edef4003 21
yasuyuki 0:4286edef4003 22 #if defined(TARGET_LPC1768)
yasuyuki 0:4286edef4003 23 DigitalOut led1(LED1);
yasuyuki 0:4286edef4003 24 DigitalOut led2(LED2);
yasuyuki 0:4286edef4003 25 I2C i2c(p28,p27);
yasuyuki 0:4286edef4003 26 AnalogIn ain(p15);
yasuyuki 0:4286edef4003 27 #endif
yasuyuki 0:4286edef4003 28 // for TG-LPC11U35-501
yasuyuki 0:4286edef4003 29 #if defined(TARGET_LPC11U35_501)
yasuyuki 0:4286edef4003 30 DigitalOut led1(P0_20);
yasuyuki 0:4286edef4003 31 DigitalOut led2(P0_21);
yasuyuki 0:4286edef4003 32 I2C i2c(P0_5,P0_4);
yasuyuki 0:4286edef4003 33 AnalogIn ain(P0_11);
yasuyuki 0:4286edef4003 34 #endif
yasuyuki 0:4286edef4003 35 // for Nucleo
yasuyuki 0:4286edef4003 36 #if defined(TARGET_NUCLEO_F401RE)
yasuyuki 0:4286edef4003 37 DigitalOut led1(D13);
yasuyuki 0:4286edef4003 38 I2C i2c(D14,D15);
yasuyuki 0:4286edef4003 39 AnalogIn ain(PA_0);
yasuyuki 0:4286edef4003 40 #endif
yasuyuki 0:4286edef4003 41
yasuyuki 0:4286edef4003 42 AQM0802 lcd(i2c);
yasuyuki 0:4286edef4003 43
yasuyuki 0:4286edef4003 44 int main() {
yasuyuki 0:4286edef4003 45
yasuyuki 0:4286edef4003 46 char msg[10];
yasuyuki 0:4286edef4003 47 int mA;
yasuyuki 0:4286edef4003 48
yasuyuki 0:4286edef4003 49 sprintf(msg, "%d", SystemCoreClock );
yasuyuki 0:4286edef4003 50 lcd.locate(0,0);
yasuyuki 0:4286edef4003 51 lcd.print(msg);
yasuyuki 0:4286edef4003 52 wait(1);
yasuyuki 0:4286edef4003 53
yasuyuki 0:4286edef4003 54 sprintf(msg, "current ");
yasuyuki 0:4286edef4003 55 lcd.locate(0,0);
yasuyuki 0:4286edef4003 56 lcd.print(msg);
yasuyuki 0:4286edef4003 57
yasuyuki 0:4286edef4003 58 while(1) {
yasuyuki 0:4286edef4003 59
yasuyuki 0:4286edef4003 60 // current
yasuyuki 0:4286edef4003 61 mA = ain.read()*3.3*1000;
yasuyuki 0:4286edef4003 62
yasuyuki 0:4286edef4003 63 sprintf(msg," %4dmA",mA);
yasuyuki 0:4286edef4003 64 lcd.locate(0,1);
yasuyuki 0:4286edef4003 65 lcd.print(msg);
yasuyuki 0:4286edef4003 66 wait(1);
yasuyuki 0:4286edef4003 67 }
yasuyuki 0:4286edef4003 68
yasuyuki 0:4286edef4003 69 }