t

Dependencies:   SDFileSystem USBHost_SAMPLE mbed

Fork of USBHost_TEST by USER PASS

Committer:
overover
Date:
Mon Nov 20 06:20:32 2017 +0000
Revision:
7:14c35d8672b8
Parent:
6:6ba1ef8942d0
h

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