test

Dependencies:   SDFileSystem USBHost_SAMPLE mbed

Committer:
USER10
Date:
Mon Nov 20 06:38:46 2017 +0000
Revision:
0:dcbe65196984
Child:
1:8ee1e5bda8ec
test

Who changed what in which revision?

UserRevisionLine numberNew contents of line
USER10 0:dcbe65196984 1 #include "mbed.h"
USER10 0:dcbe65196984 2 #include "USBHostKeyboard.h"
USER10 0:dcbe65196984 3 #include "SDFileSystem.h"
USER10 0:dcbe65196984 4
USER10 0:dcbe65196984 5 DigitalOut led(LED1);
USER10 0:dcbe65196984 6 SDFileSystem sd(p5, p6, p7, p8, "sd");
USER10 0:dcbe65196984 7 int i=0;
USER10 0:dcbe65196984 8
USER10 0:dcbe65196984 9 Serial pc1(p13, p14);//tx1, rx1
USER10 0:dcbe65196984 10
USER10 0:dcbe65196984 11 void onKey(uint8_t key) {
USER10 0:dcbe65196984 12 i++;
USER10 0:dcbe65196984 13 pc1.printf("Key[%d]:%x:%c\r\n", i, key, key);
USER10 0:dcbe65196984 14
USER10 0:dcbe65196984 15 ++i;
USER10 0:dcbe65196984 16 FILE *fp;
USER10 0:dcbe65196984 17 fp = fopen("/sd/keylog/log.csv", "a");
USER10 0:dcbe65196984 18 fprintf(fp, "Key[%d], :,0x%x,:,%c\r\n", i, key, key);
USER10 0:dcbe65196984 19 fclose(fp);
USER10 0:dcbe65196984 20 }
USER10 0:dcbe65196984 21
USER10 0:dcbe65196984 22 void keyboard_task(void const *) {
USER10 0:dcbe65196984 23
USER10 0:dcbe65196984 24 USBHostKeyboard keyboard;
USER10 0:dcbe65196984 25
USER10 0:dcbe65196984 26 while(1) {
USER10 0:dcbe65196984 27 // try to connect a USB keyboard
USER10 0:dcbe65196984 28 while(!keyboard.connect())
USER10 0:dcbe65196984 29 Thread::wait(500);
USER10 0:dcbe65196984 30
USER10 0:dcbe65196984 31 // when connected, attach handler called on keyboard event
USER10 0:dcbe65196984 32 keyboard.attach(onKey);
USER10 0:dcbe65196984 33
USER10 0:dcbe65196984 34 // wait until the keyboard is disconnected
USER10 0:dcbe65196984 35 while(keyboard.connected())
USER10 0:dcbe65196984 36 Thread::wait(500);
USER10 0:dcbe65196984 37 }
USER10 0:dcbe65196984 38 }
USER10 0:dcbe65196984 39
USER10 0:dcbe65196984 40 int main() {
USER10 0:dcbe65196984 41 mkdir("/sd/keylog", 0777);
USER10 0:dcbe65196984 42 FILE *fp;
USER10 0:dcbe65196984 43 fp = fopen("/sd/keylog/log.csv","w");
USER10 0:dcbe65196984 44 fclose(fp);
USER10 0:dcbe65196984 45
USER10 0:dcbe65196984 46 Thread keyboardTask(keyboard_task, NULL, osPriorityNormal, 256 * 4);
USER10 0:dcbe65196984 47 while(1) {
USER10 0:dcbe65196984 48 led=!led;
USER10 0:dcbe65196984 49 Thread::wait(500);
USER10 0:dcbe65196984 50 }
USER10 0:dcbe65196984 51 }