電動バイク制御基板プログラム
Dependencies: BufferedSerial SDFileSystem mbed
main.cpp@1:f61fbb8e4352, 2016-10-16 (annotated)
- Committer:
- NT32
- Date:
- Sun Oct 16 13:40:09 2016 +0000
- Revision:
- 1:f61fbb8e4352
- Parent:
- 0:7210cdf801f9
- Child:
- 2:1a62df057057
??????????????; ???Tera Term?
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
NT32 | 0:7210cdf801f9 | 1 | #include "mbed.h" |
NT32 | 0:7210cdf801f9 | 2 | #include "SDFileSystem.h" |
NT32 | 0:7210cdf801f9 | 3 | #define SEL_GPS 0 |
NT32 | 0:7210cdf801f9 | 4 | #define SEL_BMS 1 |
NT32 | 0:7210cdf801f9 | 5 | #define SEL_HNDL 2 |
NT32 | 0:7210cdf801f9 | 6 | #define SEL_FELICA 3 |
NT32 | 0:7210cdf801f9 | 7 | #define CELL_NUM 24 |
NT32 | 0:7210cdf801f9 | 8 | DigitalOut led1(P1_1); |
NT32 | 0:7210cdf801f9 | 9 | DigitalOut led2(P0_9); |
NT32 | 0:7210cdf801f9 | 10 | BusOut selUart(P1_5, P1_4); |
NT32 | 0:7210cdf801f9 | 11 | Serial uart_cpld(P1_0, P0_31); |
NT32 | 0:7210cdf801f9 | 12 | //Serial uart_v850(P0_28, P0_29); |
NT32 | 0:7210cdf801f9 | 13 | //Serial uart_gps(P0_26, P0_27); |
NT32 | 0:7210cdf801f9 | 14 | //Serial uart_handle(P0_0, P0_30); |
NT32 | 0:7210cdf801f9 | 15 | //Serial uart_felica(P0_4, P0_2); |
NT32 | 0:7210cdf801f9 | 16 | Serial uart_moni(P0_0,P0_30); |
NT32 | 0:7210cdf801f9 | 17 | //SDFileSystem sd(P0_7, P0_5, P0_6, P0_8, "sd"); |
NT32 | 0:7210cdf801f9 | 18 | |
NT32 | 0:7210cdf801f9 | 19 | int main() { |
NT32 | 0:7210cdf801f9 | 20 | int cellVol[CELL_NUM] = {0,0,0,0,0,0,0,0,0,0,0,0, |
NT32 | 0:7210cdf801f9 | 21 | 0,0,0,0,0,0,0,0,0,0,0,0}; |
NT32 | 0:7210cdf801f9 | 22 | int cellMinVol, cellMaxVol, cellAvgVol; |
NT32 | 0:7210cdf801f9 | 23 | while(1) { |
NT32 | 0:7210cdf801f9 | 24 | //================================================= |
NT32 | 0:7210cdf801f9 | 25 | // バッテリ管理基板との通信 |
NT32 | 0:7210cdf801f9 | 26 | //================================================= |
NT32 | 0:7210cdf801f9 | 27 | led1 = 0; |
NT32 | 0:7210cdf801f9 | 28 | selUart = SEL_BMS; |
NT32 | 0:7210cdf801f9 | 29 | uart_cpld.putc('s'); |
NT32 | 0:7210cdf801f9 | 30 | for (int i = 0; i < CELL_NUM; ++i) |
NT32 | 0:7210cdf801f9 | 31 | { |
NT32 | 0:7210cdf801f9 | 32 | // 個別セル電圧取得 |
NT32 | 0:7210cdf801f9 | 33 | uart_cpld.scanf("%d\n", &cellVol[i]); |
NT32 | 0:7210cdf801f9 | 34 | } |
NT32 | 0:7210cdf801f9 | 35 | //最低->最高->平均で取得 |
NT32 | 0:7210cdf801f9 | 36 | uart_cpld.scanf("%d\n", &cellMinVol); |
NT32 | 0:7210cdf801f9 | 37 | uart_cpld.scanf("%d\n", &cellMaxVol); |
NT32 | 0:7210cdf801f9 | 38 | uart_cpld.scanf("%d\n", &cellAvgVol); |
NT32 | 0:7210cdf801f9 | 39 | led1 = 1; |
NT32 | 0:7210cdf801f9 | 40 | |
NT32 | 0:7210cdf801f9 | 41 | //================================================= |
NT32 | 0:7210cdf801f9 | 42 | // 表示装置との通信 |
NT32 | 0:7210cdf801f9 | 43 | //================================================= |
NT32 | 0:7210cdf801f9 | 44 | led2 = 0; |
NT32 | 0:7210cdf801f9 | 45 | selUart = SEL_HNDL; |
NT32 | 0:7210cdf801f9 | 46 | uart_cpld.putc('m'); |
NT32 | 0:7210cdf801f9 | 47 | uart_cpld.printf("\033[2J"); //デバッグ用Tera Term出力 |
NT32 | 0:7210cdf801f9 | 48 | uart_cpld.printf("\033[%d;%dH" ,0,0); //デバッグ用Tera Term出力 |
NT32 | 0:7210cdf801f9 | 49 | |
NT32 | 0:7210cdf801f9 | 50 | wait(0.01); |
NT32 | 0:7210cdf801f9 | 51 | for (int i = 0; i < CELL_NUM; ++i) |
NT32 | 0:7210cdf801f9 | 52 | { |
NT32 | 0:7210cdf801f9 | 53 | // 個別セル電圧取得 |
NT32 | 0:7210cdf801f9 | 54 | uart_cpld.printf("%d\n",cellVol[i]); |
NT32 | 0:7210cdf801f9 | 55 | } |
NT32 | 0:7210cdf801f9 | 56 | //最低->最高->平均で取得 |
NT32 | 0:7210cdf801f9 | 57 | uart_cpld.printf("%d\n",cellMinVol); |
NT32 | 0:7210cdf801f9 | 58 | uart_cpld.printf("%d\n",cellMaxVol); |
NT32 | 0:7210cdf801f9 | 59 | uart_cpld.printf("%d\n",cellAvgVol); |
NT32 | 0:7210cdf801f9 | 60 | |
NT32 | 0:7210cdf801f9 | 61 | led2 = 1; |
NT32 | 0:7210cdf801f9 | 62 | |
NT32 | 0:7210cdf801f9 | 63 | } |
NT32 | 0:7210cdf801f9 | 64 | } |