TEST_T1 / Mbed 2 deprecated INA226

Dependencies:   mbed INA226

Committer:
takuma1
Date:
Fri Apr 24 07:11:45 2020 +0000
Revision:
2:588c7482a670
Parent:
0:b20f8673a7fa
ina226

Who changed what in which revision?

UserRevisionLine numberNew contents of line
takuma1 2:588c7482a670 1 #include "mbed.h" // studio.hに相当
takuma1 2:588c7482a670 2 #include "INA226.hpp" //ina226内の内部処理
tosihisa 0:b20f8673a7fa 3
takuma1 2:588c7482a670 4 DigitalOut myled(LED1);//mbed内のLEDの点灯(動作確認用)無くてもいい
takuma1 2:588c7482a670 5 I2C i2c(p28,p27); //I2Cで通信するためのポート設定
takuma1 2:588c7482a670 6 INA226 VCmonitor(i2c); //ina226の測定等の関数
tosihisa 0:b20f8673a7fa 7
takuma1 2:588c7482a670 8 int main() { //マイコン起動時に始めにコールさせる
takuma1 2:588c7482a670 9 unsigned short val; //通信確認時にエラーがないか確認するための変数
takuma1 2:588c7482a670 10 double V,C; //この変数に電圧電流が入ってる V:電圧 C:電流
takuma1 2:588c7482a670 11 int count = 1; // 測定毎にカウントされる変数
takuma1 2:588c7482a670 12 //ここから先無くてもいい
takuma1 2:588c7482a670 13 printf("VCmonitor INA226 TEST Program. (BUILD:[" __DATE__ "/" __TIME__ "])\n");
tosihisa 0:b20f8673a7fa 14
takuma1 2:588c7482a670 15 if(!VCmonitor.isExist()){//通信エラー確認
takuma1 2:588c7482a670 16 printf("VCmonitor NOT FOUND\n");//エラーがあるとこのwhile内から抜けない
tosihisa 0:b20f8673a7fa 17 while(1){}
tosihisa 0:b20f8673a7fa 18 }
takuma1 2:588c7482a670 19
takuma1 2:588c7482a670 20 printf("VCmonitor FOUND\n");
tosihisa 0:b20f8673a7fa 21
takuma1 2:588c7482a670 22 val = 0;//初期値
takuma1 2:588c7482a670 23
takuma1 2:588c7482a670 24 if(VCmonitor.rawRead(0x00,&val) != 0){//通信確認時にエラーがないか確認するための変数
takuma1 2:588c7482a670 25 printf("VCmonitor READ ERROR\n");//エラーがあるとwhileから抜けない
tosihisa 0:b20f8673a7fa 26 while(1){}
tosihisa 0:b20f8673a7fa 27 }
tosihisa 0:b20f8673a7fa 28
takuma1 2:588c7482a670 29 printf("VCmonitor Reg 0x00 : 0x%04x\n",val);
takuma1 2:588c7482a670 30 //ここより上はあっても無くてもいい
tosihisa 0:b20f8673a7fa 31 VCmonitor.setCurrentCalibration();
takuma1 2:588c7482a670 32
takuma1 2:588c7482a670 33 while(1) { //測定開始
tosihisa 0:b20f8673a7fa 34 if((VCmonitor.getVoltage(&V) == 0) && (VCmonitor.getCurrent(&C) == 0)){
takuma1 2:588c7482a670 35 printf("%d,V,%f,C,%f\n",count,V,C); //電圧、電流、カウント回数の表示
tosihisa 0:b20f8673a7fa 36 }
takuma1 2:588c7482a670 37 myled = 1; //LED点灯
takuma1 2:588c7482a670 38 wait(0.5); //0.5秒待ち
takuma1 2:588c7482a670 39 myled = 0; //LED消灯
takuma1 2:588c7482a670 40 wait(0.5); //0.5秒待ち
takuma1 2:588c7482a670 41 count++; //一回カウント
tosihisa 0:b20f8673a7fa 42 }
takuma1 2:588c7482a670 43 }