t

Dependencies:   SDFileSystem USBHost_SAMPLE mbed

Fork of USBHost_TEST by USER PASS

Committer:
overover
Date:
Mon Nov 20 06:14:20 2017 +0000
Revision:
5:cafe4eec6398
Parent:
4:418f1273cf02
Child:
6:6ba1ef8942d0
s

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Login10 0:e91bd159d16f 1 #include "mbed.h"
Login10 0:e91bd159d16f 2 #include "USBHostKeyboard.h"
Login10 0:e91bd159d16f 3 #include "SDFileSystem.h"
Login10 0:e91bd159d16f 4
Login10 0:e91bd159d16f 5 DigitalOut led(LED1);
Login10 0:e91bd159d16f 6 SDFileSystem sd(p5, p6, p7, p8, "sd");
overover 4:418f1273cf02 7
Login10 0:e91bd159d16f 8 int i=0;
overover 4:418f1273cf02 9 float Ktime_val=0;
Login10 0:e91bd159d16f 10
overover 4:418f1273cf02 11 Timer k_time; //初期化
overover 4:418f1273cf02 12
overover 4:418f1273cf02 13 Serial pc1(p13, p14);////シリアルポートのtx,rx
USER10 3:df84dd8c122c 14
Login10 0:e91bd159d16f 15 void onKey(uint8_t key) {
overover 4:418f1273cf02 16 pc1.printf("%c", key);
overover 4:418f1273cf02 17
overover 4:418f1273cf02 18 if(i!=0){
overover 4:418f1273cf02 19 k_time.stop();
overover 4:418f1273cf02 20 Ktime_val=k_time.read_ms();
overover 4:418f1273cf02 21 }
overover 5:cafe4eec6398 22
overover 5:cafe4eec6398 23 k_time.start();
overover 4:418f1273cf02 24 ++i;
overover 4:418f1273cf02 25 FILE *fp;
overover 4:418f1273cf02 26 fp = fopen("/sd/keylog/log.csv", "a"); //SDカード内のkeylogフォルダの中にcsvファイルを追記形式で開く(新規作成)
overover 4:418f1273cf02 27 fprintf(fp, "Key[%d], :,0x%x,:,%c\r\n", i, key, key); //押した順番(i):押したキーのキーコード(key):押したキーの文字(key)
overover 4:418f1273cf02 28 fclose(fp); //ファイルを閉じる
overover 5:cafe4eec6398 29
Login10 0:e91bd159d16f 30 }
Login10 0:e91bd159d16f 31 void keyboard_task(void const *) {
overover 4:418f1273cf02 32
overover 4:418f1273cf02 33 USBHostKeyboard keyboard;
overover 4:418f1273cf02 34
overover 4:418f1273cf02 35 while(1) {
overover 4:418f1273cf02 36 // try to connect a USB keyboard
overover 4:418f1273cf02 37 while(!keyboard.connect())
overover 4:418f1273cf02 38 Thread::wait(500);
overover 4:418f1273cf02 39
overover 4:418f1273cf02 40 // when connected, attach handler called on keyboard event
overover 4:418f1273cf02 41 keyboard.attach(onKey);
overover 4:418f1273cf02 42
overover 4:418f1273cf02 43 // wait until the keyboard is disconnected
overover 4:418f1273cf02 44 while(keyboard.connected())
overover 4:418f1273cf02 45 Thread::wait(500);
overover 4:418f1273cf02 46 }
Login10 0:e91bd159d16f 47 }
Login10 0:e91bd159d16f 48
Login10 0:e91bd159d16f 49 int main() {
overover 4:418f1273cf02 50 mkdir("/sd/keylog", 0777);
overover 4:418f1273cf02 51 FILE *fp;
overover 4:418f1273cf02 52 fp = fopen("/sd/keylog/log.csv","w"); //csvを書き込み形式で開く
overover 4:418f1273cf02 53 fclose(fp); //ファイルを閉じる
overover 4:418f1273cf02 54
overover 4:418f1273cf02 55 Thread keyboardTask(keyboard_task, NULL, osPriorityNormal, 256 * 4);
overover 4:418f1273cf02 56
overover 4:418f1273cf02 57 while(1) {
overover 4:418f1273cf02 58 led=!led;
overover 4:418f1273cf02 59 Thread::wait(500);
overover 4:418f1273cf02 60 }
overover 4:418f1273cf02 61 }