test
Dependencies: SDFileSystem USBHost mbed
Diff: main.cpp
- Revision:
- 1:16af9125437f
- Parent:
- 0:c6745d5554d1
--- a/main.cpp Fri Jan 19 00:31:45 2018 +0000 +++ b/main.cpp Wed Jan 24 09:54:28 2018 +0000 @@ -1,6 +1,6 @@ #include "mbed.h" #include "USBHostKeyboard.h" -//#include "SDFileSystem.h" +#include "SDFileSystem.h" //キーボード取得データをTX1、RX1からシリアル通信で送信させる //SDカードに入力したデータを保存 @@ -11,27 +11,23 @@ DigitalOut led2(LED2); DigitalOut led3(LED3); -int i=0; - Timer t; //タイマー宣言(繰り返しタイマー割り込み) -LocalFileSystem local("keylog"); //mbed自体に保存 -//SDFileSystem sd(p5, p6, p7, p8, "sd"); //SDファイル用通信ポートの指定 +SDFileSystem sd(p5, p6, p7, p8, "sd"); //SDファイル用通信ポートの指定 Serial pc1(p13, p14); //シリアル通信ポートの指定(tx1, rx1の順) -//Serial pc(USBTX, USBRX); void onKey(uint8_t key) { pc1.printf("%c", key); //1文字PCへ送信(TX1、RX1のシリアル通信) - //pc.printf("%c", key); - i++; + t.stop(); //キーを押すごとにタイマーストップ //リセットしていないのでラップタイム計測状態となる FILE *fp; - fp = fopen("/keylog/keylog/log.csv", "a"); //「log.csv」ファイルを書き込み形式で開く - fprintf(fp, "Key[%d], :,0x%x,:,%c,:,%0.2f\r\n", i, key, key, t.read()); //左から 入力順番:アスキーコード:入力した文字:経過時間 となる + fp = fopen("/sd/keylog/log.csv", "a"); //「keylog」ディレクトリ内の「log.csv」ファイルを書き込み形式で開く + fprintf(fp, "Key,:,0x%x,:,%c,:,%0.2f\r\n", key, key, t.read()); //左から 入力順番:アスキーコード:入力した文字:経過時間 となる fclose(fp); t.start(); //タイマースタート(一周後からはリスタート) + } void keyboard_task(void const *) { @@ -49,11 +45,12 @@ } } -int main(){ - - mkdir("/keylog/keylog", 0777); //「keylog」ディレクトリ作成 - FILE *fp; - fp = fopen("/keylog/keylog/log.csv","w"); //「log.csv」ファイルを読込形式で開く +int main(){ + mkdir("/sd/keylog", 0777); //「keylog」ディレクトリ作成 + FILE *fp = fopen("/sd/keylog/log.csv","w"); //「log.csv」ファイルを読込形式で開く + if(fp == NULL) { + error("Could not open file for write\n"); //この行がないと不具合が発生 + } fclose(fp); Thread keyboardTask(keyboard_task, NULL, osPriorityNormal, 256 * 4);