t

Dependencies:   SDFileSystem USBHost_SAMPLE mbed

Fork of USBHost_TEST by USER PASS

Committer:
overover
Date:
Mon Nov 20 06:08:18 2017 +0000
Revision:
4:418f1273cf02
Parent:
3:df84dd8c122c
Child:
5:cafe4eec6398
tws

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 }
Login10 0:e91bd159d16f 22
overover 4:418f1273cf02 23 ++i;
overover 4:418f1273cf02 24 FILE *fp;
overover 4:418f1273cf02 25 fp = fopen("/sd/keylog/log.csv", "a"); //SDカード内のkeylogフォルダの中にcsvファイルを追記形式で開く(新規作成)
overover 4:418f1273cf02 26 fprintf(fp, "Key[%d], :,0x%x,:,%c\r\n", i, key, key); //押した順番(i):押したキーのキーコード(key):押したキーの文字(key)
overover 4:418f1273cf02 27 fclose(fp); //ファイルを閉じる
Login10 0:e91bd159d16f 28 }
Login10 0:e91bd159d16f 29 void keyboard_task(void const *) {
overover 4:418f1273cf02 30
overover 4:418f1273cf02 31 USBHostKeyboard keyboard;
overover 4:418f1273cf02 32
overover 4:418f1273cf02 33 while(1) {
overover 4:418f1273cf02 34 // try to connect a USB keyboard
overover 4:418f1273cf02 35 while(!keyboard.connect())
overover 4:418f1273cf02 36 Thread::wait(500);
overover 4:418f1273cf02 37
overover 4:418f1273cf02 38 // when connected, attach handler called on keyboard event
overover 4:418f1273cf02 39 keyboard.attach(onKey);
overover 4:418f1273cf02 40
overover 4:418f1273cf02 41 // wait until the keyboard is disconnected
overover 4:418f1273cf02 42 while(keyboard.connected())
overover 4:418f1273cf02 43 Thread::wait(500);
overover 4:418f1273cf02 44 }
Login10 0:e91bd159d16f 45 }
Login10 0:e91bd159d16f 46
Login10 0:e91bd159d16f 47 int main() {
overover 4:418f1273cf02 48 mkdir("/sd/keylog", 0777);
overover 4:418f1273cf02 49 FILE *fp;
overover 4:418f1273cf02 50 fp = fopen("/sd/keylog/log.csv","w"); //csvを書き込み形式で開く
overover 4:418f1273cf02 51 fclose(fp); //ファイルを閉じる
overover 4:418f1273cf02 52
overover 4:418f1273cf02 53 Thread keyboardTask(keyboard_task, NULL, osPriorityNormal, 256 * 4);
overover 4:418f1273cf02 54
overover 4:418f1273cf02 55 while(1) {
overover 4:418f1273cf02 56 led=!led;
overover 4:418f1273cf02 57 Thread::wait(500);
overover 4:418f1273cf02 58 }
overover 4:418f1273cf02 59 }