t

Dependencies:   SDFileSystem USBHost_SAMPLE mbed

Fork of USBHost_TEST by USER PASS

main.cpp

Committer:
overover
Date:
2017-11-20
Revision:
7:14c35d8672b8
Parent:
6:6ba1ef8942d0

File content as of revision 7:14c35d8672b8:

#include "mbed.h"
#include "USBHostKeyboard.h"
#include "SDFileSystem.h"

DigitalOut led(LED1);
SDFileSystem sd(p5, p6, p7, p8, "sd");

int i=0;
float Ktime_val=0;

Timer k_time; //初期化

Serial pc1(p13, p14);////シリアルポートのtx,rx

void onKey(uint8_t key) {
  pc1.printf("%c", key);
  
  ++i;
  FILE *fp;
  fp = fopen("/sd/keylog/log.csv", "a");  //SDカード内のkeylogフォルダの中にcsvファイルを追記形式で開く(新規作成)
  fprintf(fp, "Key[%d], :,0x%x,:,%c\r\n", i, key, key); //押した順番(i):押したキーのキーコード(key):押したキーの文字(key)
  fclose(fp); //ファイルを閉じる
  
}
void keyboard_task(void const *) {

  USBHostKeyboard keyboard;

  while(1) {
    // try to connect a USB keyboard
    while(!keyboard.connect())
    Thread::wait(500);

    // when connected, attach handler called on keyboard event
    keyboard.attach(onKey);

    // wait until the keyboard is disconnected
    while(keyboard.connected())
    Thread::wait(500);
  }
}

int main() {
  
    if(i!=0){
    k_time.stop();
    Ktime_val=k_time.read_ms();
  }
  
  mkdir("/sd/keylog", 0777);
  FILE *fp;
  fp = fopen("/sd/keylog/log.csv","w"); //csvを書き込み形式で開く
  fclose(fp); //ファイルを閉じる
  
  k_time.start();

  Thread keyboardTask(keyboard_task, NULL, osPriorityNormal, 256 * 4);

  while(1) {
    led=!led;
    Thread::wait(500);
  }
}