1月13日分

Dependencies:   INA226 mbed

Fork of INA226TEST by Toshihisa T

Committer:
YusukeWakuta
Date:
Wed Jan 13 11:07:27 2016 +0000
Revision:
2:ae52901630fc
Parent:
0:b20f8673a7fa
1?13??

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tosihisa 0:b20f8673a7fa 1 /*
tosihisa 0:b20f8673a7fa 2 * Copyright (c) 2011 Toshihisa T
tosihisa 0:b20f8673a7fa 3 * Released under the MIT License: http://mbed.org/license/mit
tosihisa 0:b20f8673a7fa 4 */
tosihisa 0:b20f8673a7fa 5
tosihisa 0:b20f8673a7fa 6 #include "mbed.h"
tosihisa 0:b20f8673a7fa 7 #include "INA226.hpp"
tosihisa 0:b20f8673a7fa 8
tosihisa 0:b20f8673a7fa 9 Serial debug(USBTX,USBRX);
tosihisa 0:b20f8673a7fa 10 DigitalOut myled(LED1);
tosihisa 0:b20f8673a7fa 11 I2C i2c(p28,p27);
tosihisa 0:b20f8673a7fa 12 INA226 VCmonitor(i2c);
tosihisa 0:b20f8673a7fa 13
tosihisa 0:b20f8673a7fa 14 int main() {
YusukeWakuta 2:ae52901630fc 15 i2c.start();
tosihisa 0:b20f8673a7fa 16 unsigned short val;
tosihisa 0:b20f8673a7fa 17 double V,C;
tosihisa 0:b20f8673a7fa 18 int count = 1;
tosihisa 0:b20f8673a7fa 19
tosihisa 0:b20f8673a7fa 20 debug.format(8,ParityNone,1);
YusukeWakuta 2:ae52901630fc 21 debug.baud(9600);
YusukeWakuta 2:ae52901630fc 22 debug.printf("VCmonitor INA226 TEST Program. (BUILD:[" __DATE__ "/" __TIME__ "])\n\r");
tosihisa 0:b20f8673a7fa 23
tosihisa 0:b20f8673a7fa 24 if(!VCmonitor.isExist()){
YusukeWakuta 2:ae52901630fc 25 debug.printf("VCmonitor NOT FOUND\n\r");
tosihisa 0:b20f8673a7fa 26 while(1){}
tosihisa 0:b20f8673a7fa 27 }
tosihisa 0:b20f8673a7fa 28 debug.printf("VCmonitor FOUND\n");
tosihisa 0:b20f8673a7fa 29
tosihisa 0:b20f8673a7fa 30 val = 0;
tosihisa 0:b20f8673a7fa 31 if(VCmonitor.rawRead(0x00,&val) != 0){
tosihisa 0:b20f8673a7fa 32 debug.printf("VCmonitor READ ERROR\n");
tosihisa 0:b20f8673a7fa 33 while(1){}
tosihisa 0:b20f8673a7fa 34 }
tosihisa 0:b20f8673a7fa 35 debug.printf("VCmonitor Reg 0x00 : 0x%04x\n",val);
tosihisa 0:b20f8673a7fa 36
tosihisa 0:b20f8673a7fa 37 VCmonitor.setCurrentCalibration();
tosihisa 0:b20f8673a7fa 38
tosihisa 0:b20f8673a7fa 39 while(1) {
tosihisa 0:b20f8673a7fa 40 if((VCmonitor.getVoltage(&V) == 0) && (VCmonitor.getCurrent(&C) == 0)){
YusukeWakuta 2:ae52901630fc 41 debug.printf("%d,V,%f,C,%f\n\r",count,V,C);
tosihisa 0:b20f8673a7fa 42 }
tosihisa 0:b20f8673a7fa 43 myled = 1;
tosihisa 0:b20f8673a7fa 44 wait(0.5);
tosihisa 0:b20f8673a7fa 45 myled = 0;
tosihisa 0:b20f8673a7fa 46 wait(0.5);
tosihisa 0:b20f8673a7fa 47 count++;
tosihisa 0:b20f8673a7fa 48 }
YusukeWakuta 2:ae52901630fc 49 i2c.stop();
tosihisa 0:b20f8673a7fa 50 }