![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
201708能代のメインマイコンの保存データ送信用プログラム
Dependencies: MPU6050 mbed MS5607
main.cpp@2:1dbaef45ae46, 2017-07-18 (annotated)
- Committer:
- mikawataru
- Date:
- Tue Jul 18 14:22:08 2017 +0000
- Revision:
- 2:1dbaef45ae46
- Parent:
- 0:bdbd3d6fc5d5
- Child:
- 3:660279be8484
201708denso_sub1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mbed_official | 0:bdbd3d6fc5d5 | 1 | #include "mbed.h" |
mikawataru | 2:1dbaef45ae46 | 2 | #include "string.h" |
mbed_official | 0:bdbd3d6fc5d5 | 3 | #include "SDFileSystem.h" |
mikawataru | 2:1dbaef45ae46 | 4 | |
mikawataru | 2:1dbaef45ae46 | 5 | #define BUFFNUM 50 |
mikawataru | 2:1dbaef45ae46 | 6 | #define CHARNUM 16 |
mikawataru | 2:1dbaef45ae46 | 7 | |
mikawataru | 2:1dbaef45ae46 | 8 | SDFileSystem sd(dp2, dp1, dp6, dp14, "sd"); |
mikawataru | 2:1dbaef45ae46 | 9 | Serial mainCP(dp16, dp15); |
mikawataru | 2:1dbaef45ae46 | 10 | |
mikawataru | 2:1dbaef45ae46 | 11 | bool row = false; |
mikawataru | 2:1dbaef45ae46 | 12 | int8_t col=0, cnt=0; |
mikawataru | 2:1dbaef45ae46 | 13 | char data[2][BUFFNUM][CHARNUM] = {}; |
mikawataru | 2:1dbaef45ae46 | 14 | FILE *fp; |
mikawataru | 2:1dbaef45ae46 | 15 | |
mikawataru | 2:1dbaef45ae46 | 16 | void _log(); |
mikawataru | 2:1dbaef45ae46 | 17 | |
mbed_official | 0:bdbd3d6fc5d5 | 18 | int main() { |
mikawataru | 2:1dbaef45ae46 | 19 | printf("Hello World!\r\n"); |
mikawataru | 2:1dbaef45ae46 | 20 | mkdir("/sd/mydir", 0777); |
mikawataru | 2:1dbaef45ae46 | 21 | fp = fopen("/sd/mydir/log.txt", "w"); |
mikawataru | 2:1dbaef45ae46 | 22 | if(fp == NULL) error("Could not open file for write\r\n"); |
mikawataru | 2:1dbaef45ae46 | 23 | fprintf(fp, "Hello fun SD Card World!\n"); |
mikawataru | 2:1dbaef45ae46 | 24 | fclose(fp); |
mikawataru | 2:1dbaef45ae46 | 25 | mainCP.attach(&_log, Serial::RxIrq); |
mikawataru | 2:1dbaef45ae46 | 26 | while(1); |
mikawataru | 2:1dbaef45ae46 | 27 | } |
mikawataru | 2:1dbaef45ae46 | 28 | |
mikawataru | 2:1dbaef45ae46 | 29 | void _log(){//受信割り込み用.\n区切りで保存する. |
mikawataru | 2:1dbaef45ae46 | 30 | data[row][col][cnt] = mainCP.getc(); |
mikawataru | 2:1dbaef45ae46 | 31 | cnt++; |
mikawataru | 2:1dbaef45ae46 | 32 | if(data[row][col][cnt]=='\n'){ |
mikawataru | 2:1dbaef45ae46 | 33 | col++; |
mikawataru | 2:1dbaef45ae46 | 34 | cnt = 0; |
mikawataru | 2:1dbaef45ae46 | 35 | }else if(cnt==CHARNUM){ |
mikawataru | 2:1dbaef45ae46 | 36 | memset(&data[row][col][0],'\0',CHARNUM); |
mikawataru | 2:1dbaef45ae46 | 37 | cnt = 0; |
mikawataru | 2:1dbaef45ae46 | 38 | } |
mikawataru | 2:1dbaef45ae46 | 39 | |
mikawataru | 2:1dbaef45ae46 | 40 | if(col==BUFFNUM){ |
mikawataru | 2:1dbaef45ae46 | 41 | col = 0; |
mikawataru | 2:1dbaef45ae46 | 42 | row = !row; |
mikawataru | 2:1dbaef45ae46 | 43 | fp = fopen("/sd/mydir/log.txt", "a"); |
mikawataru | 2:1dbaef45ae46 | 44 | for (int i = 0; i < BUFFNUM; i++){ |
mikawataru | 2:1dbaef45ae46 | 45 | fprintf(fp,&data[!row][i][0]); |
mbed_official | 0:bdbd3d6fc5d5 | 46 | } |
mikawataru | 2:1dbaef45ae46 | 47 | fclose(fp); |
mikawataru | 2:1dbaef45ae46 | 48 | memset(&data[row][0][0],'\0',BUFFNUM*CHARNUM); |
mikawataru | 2:1dbaef45ae46 | 49 | } |
mikawataru | 2:1dbaef45ae46 | 50 | } |