電動バイク制御基板プログラム

Dependencies:   BufferedSerial SDFileSystem mbed

Committer:
NT32
Date:
Sat Nov 05 10:16:21 2016 +0000
Revision:
2:1a62df057057
Parent:
1:f61fbb8e4352
V850?????; rx->tx????

Who changed what in which revision?

UserRevisionLine numberNew 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 2:1a62df057057 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 2:1a62df057057 14 //↓txをCPLDにして,rxをV850にする
NT32 2:1a62df057057 15 Serial uart_handle(P0_0, P1_3); //<=(tx,rx)で,今は rx->tx と素通り
NT32 0:7210cdf801f9 16 //Serial uart_felica(P0_4, P0_2);
NT32 2:1a62df057057 17 Serial pc(P0_18,P0_13);
NT32 0:7210cdf801f9 18 //SDFileSystem sd(P0_7, P0_5, P0_6, P0_8, "sd");
NT32 0:7210cdf801f9 19
NT32 0:7210cdf801f9 20 int main() {
NT32 0:7210cdf801f9 21 int cellVol[CELL_NUM] = {0,0,0,0,0,0,0,0,0,0,0,0,
NT32 0:7210cdf801f9 22 0,0,0,0,0,0,0,0,0,0,0,0};
NT32 0:7210cdf801f9 23 int cellMinVol, cellMaxVol, cellAvgVol;
NT32 2:1a62df057057 24 char buff[32];
NT32 2:1a62df057057 25 uart_handle.baud(38400);
NT32 2:1a62df057057 26 // selUartがマルチプレクサのピン
NT32 2:1a62df057057 27 selUart = SEL_HNDL;
NT32 0:7210cdf801f9 28 while(1) {
NT32 2:1a62df057057 29 led1 = !led1;
NT32 2:1a62df057057 30 uart_handle.scanf("%s", buff);
NT32 2:1a62df057057 31 if(buff[0] == 's'){
NT32 2:1a62df057057 32 // pc.printf("\033[%d;%dH" ,0,0); //デバッグ用Tera Term出力
NT32 2:1a62df057057 33 // pc.printf("%s\n", buff);
NT32 2:1a62df057057 34 uart_handle.printf("%s\n", buff);
NT32 2:1a62df057057 35 }
NT32 2:1a62df057057 36
NT32 0:7210cdf801f9 37 //=================================================
NT32 0:7210cdf801f9 38 // バッテリ管理基板との通信
NT32 0:7210cdf801f9 39 //=================================================
NT32 2:1a62df057057 40 // led1 = 0;
NT32 2:1a62df057057 41 // selUart = SEL_BMS;
NT32 2:1a62df057057 42 // uart_cpld.putc('s');
NT32 2:1a62df057057 43 // for (int i = 0; i < CELL_NUM; ++i)
NT32 2:1a62df057057 44 // {
NT32 2:1a62df057057 45 // // 個別セル電圧取得
NT32 2:1a62df057057 46 // uart_cpld.scanf("%d\n", &cellVol[i]);
NT32 2:1a62df057057 47 // }
NT32 2:1a62df057057 48 // //最低->最高->平均で取得
NT32 2:1a62df057057 49 // uart_cpld.scanf("%d\n", &cellMinVol);
NT32 2:1a62df057057 50 // uart_cpld.scanf("%d\n", &cellMaxVol);
NT32 2:1a62df057057 51 // uart_cpld.scanf("%d\n", &cellAvgVol);
NT32 2:1a62df057057 52 // led1 = 1;
NT32 0:7210cdf801f9 53
NT32 0:7210cdf801f9 54 //=================================================
NT32 0:7210cdf801f9 55 // 表示装置との通信
NT32 0:7210cdf801f9 56 //=================================================
NT32 2:1a62df057057 57 // led2 = 0;
NT32 2:1a62df057057 58 // selUart = SEL_HNDL;
NT32 2:1a62df057057 59 // uart_cpld.putc('m');
NT32 2:1a62df057057 60 // uart_cpld.printf("\033[2J"); //デバッグ用Tera Term出力
NT32 2:1a62df057057 61 // uart_cpld.printf("\033[%d;%dH" ,0,0); //デバッグ用Tera Term出力
NT32 2:1a62df057057 62 //
NT32 2:1a62df057057 63 // wait(0.01);
NT32 2:1a62df057057 64 // for (int i = 0; i < CELL_NUM; ++i)
NT32 2:1a62df057057 65 // {
NT32 2:1a62df057057 66 // // 個別セル電圧取得
NT32 2:1a62df057057 67 // uart_cpld.printf("%d\n",cellVol[i]);
NT32 2:1a62df057057 68 // }
NT32 2:1a62df057057 69 // //最低->最高->平均で取得
NT32 2:1a62df057057 70 // uart_cpld.printf("%d\n",cellMinVol);
NT32 2:1a62df057057 71 // uart_cpld.printf("%d\n",cellMaxVol);
NT32 2:1a62df057057 72 // uart_cpld.printf("%d\n",cellAvgVol);
NT32 2:1a62df057057 73 //
NT32 2:1a62df057057 74 // led2 = 1;
NT32 0:7210cdf801f9 75
NT32 0:7210cdf801f9 76 }
NT32 0:7210cdf801f9 77 }