Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp@2:588c7482a670, 2020-04-24 (annotated)
- Committer:
- takuma1
- Date:
- Fri Apr 24 07:11:45 2020 +0000
- Revision:
- 2:588c7482a670
- Parent:
- 0:b20f8673a7fa
ina226
Who changed what in which revision?
| User | Revision | Line number | New 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 | } |