Comment already described
Dependencies: SDFileSystem USBHost_SAMPLE mbed
Fork of USBHost_Test5 by
main.cpp@1:923fec2da9d4, 2017-11-20 (annotated)
- Committer:
- overover
- Date:
- Mon Nov 20 05:16:42 2017 +0000
- Revision:
- 1:923fec2da9d4
- Parent:
- 0:15908ba91581
????????
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
USER10 | 0:15908ba91581 | 1 | #include "mbed.h" |
USER10 | 0:15908ba91581 | 2 | #include "USBHostKeyboard.h" |
USER10 | 0:15908ba91581 | 3 | #include "SDFileSystem.h" |
USER10 | 0:15908ba91581 | 4 | |
USER10 | 0:15908ba91581 | 5 | DigitalOut led(LED1); |
USER10 | 0:15908ba91581 | 6 | int i=0; |
USER10 | 0:15908ba91581 | 7 | SDFileSystem sd(p5, p6, p7, p8, "sd"); |
USER10 | 0:15908ba91581 | 8 | |
USER10 | 0:15908ba91581 | 9 | Serial pc1(p13, p14);//tx1, rx1 |
USER10 | 0:15908ba91581 | 10 | |
USER10 | 0:15908ba91581 | 11 | void onKey(uint8_t key) { |
USER10 | 0:15908ba91581 | 12 | pc1.printf("%c", key); |
USER10 | 0:15908ba91581 | 13 | |
USER10 | 0:15908ba91581 | 14 | ++i; |
USER10 | 0:15908ba91581 | 15 | FILE *fp; |
USER10 | 0:15908ba91581 | 16 | fp = fopen("/sd/keylog/log.csv", "a"); |
USER10 | 0:15908ba91581 | 17 | fprintf(fp, "Key[%d], :,0x%x,:,%c\r\n", i, key, key); |
USER10 | 0:15908ba91581 | 18 | fclose(fp); |
USER10 | 0:15908ba91581 | 19 | } |
USER10 | 0:15908ba91581 | 20 | |
USER10 | 0:15908ba91581 | 21 | void keyboard_task(void const *) { |
USER10 | 0:15908ba91581 | 22 | |
USER10 | 0:15908ba91581 | 23 | USBHostKeyboard keyboard; |
USER10 | 0:15908ba91581 | 24 | |
USER10 | 0:15908ba91581 | 25 | while(1) { |
USER10 | 0:15908ba91581 | 26 | // try to connect a USB keyboard |
USER10 | 0:15908ba91581 | 27 | while(!keyboard.connect()) |
USER10 | 0:15908ba91581 | 28 | Thread::wait(500); |
USER10 | 0:15908ba91581 | 29 | |
USER10 | 0:15908ba91581 | 30 | // when connected, attach handler called on keyboard event |
USER10 | 0:15908ba91581 | 31 | keyboard.attach(onKey); |
USER10 | 0:15908ba91581 | 32 | |
USER10 | 0:15908ba91581 | 33 | // wait until the keyboard is disconnected |
USER10 | 0:15908ba91581 | 34 | while(keyboard.connected()) |
USER10 | 0:15908ba91581 | 35 | Thread::wait(500); |
USER10 | 0:15908ba91581 | 36 | } |
USER10 | 0:15908ba91581 | 37 | } |
overover | 1:923fec2da9d4 | 38 | #include "mbed.h" |
overover | 1:923fec2da9d4 | 39 | #include "USBHostKeyboard.h" |
overover | 1:923fec2da9d4 | 40 | #include "SDFileSystem.h" |
USER10 | 0:15908ba91581 | 41 | |
overover | 1:923fec2da9d4 | 42 | DigitalOut led(LED1); |
overover | 1:923fec2da9d4 | 43 | int i=0; |
overover | 1:923fec2da9d4 | 44 | SDFileSystem sd(p5, p6, p7, p8, "sd"); |
overover | 1:923fec2da9d4 | 45 | |
overover | 1:923fec2da9d4 | 46 | Serial pc1(p13, p14);////シリアルポートのtx,rx |
overover | 1:923fec2da9d4 | 47 | |
overover | 1:923fec2da9d4 | 48 | void onKey(uint8_t key) { |
overover | 1:923fec2da9d4 | 49 | pc1.printf("%c", key); |
overover | 1:923fec2da9d4 | 50 | |
overover | 1:923fec2da9d4 | 51 | ++i; |
overover | 1:923fec2da9d4 | 52 | FILE *fp; |
overover | 1:923fec2da9d4 | 53 | fp = fopen("/sd/keylog/log.csv", "a"); //SDカード内のkeylogフォルダの中にcsvファイルを追記形式で開く(新規作成) |
overover | 1:923fec2da9d4 | 54 | fprintf(fp, "Key[%d], :,0x%x,:,%c\r\n", i, key, key); //押した順番(i):押したキーのキーコード(key):押したキーの文字(key) |
overover | 1:923fec2da9d4 | 55 | fclose(fp); //ファイルを閉じる |
overover | 1:923fec2da9d4 | 56 | } |
overover | 1:923fec2da9d4 | 57 | void keyboard_task(void const *) { |
overover | 1:923fec2da9d4 | 58 | |
overover | 1:923fec2da9d4 | 59 | USBHostKeyboard keyboard; |
overover | 1:923fec2da9d4 | 60 | |
overover | 1:923fec2da9d4 | 61 | while(1) { |
overover | 1:923fec2da9d4 | 62 | // try to connect a USB keyboard |
overover | 1:923fec2da9d4 | 63 | while(!keyboard.connect()) |
overover | 1:923fec2da9d4 | 64 | Thread::wait(500); |
overover | 1:923fec2da9d4 | 65 | |
overover | 1:923fec2da9d4 | 66 | // when connected, attach handler called on keyboard event |
overover | 1:923fec2da9d4 | 67 | keyboard.attach(onKey); |
overover | 1:923fec2da9d4 | 68 | |
overover | 1:923fec2da9d4 | 69 | // wait until the keyboard is disconnected |
overover | 1:923fec2da9d4 | 70 | while(keyboard.connected()) |
overover | 1:923fec2da9d4 | 71 | Thread::wait(500); |
overover | 1:923fec2da9d4 | 72 | } |
overover | 1:923fec2da9d4 | 73 | } |
overover | 1:923fec2da9d4 | 74 | |
overover | 1:923fec2da9d4 | 75 | int main() { |
overover | 1:923fec2da9d4 | 76 | mkdir("/sd/keylog", 0777); |
overover | 1:923fec2da9d4 | 77 | FILE *fp; |
overover | 1:923fec2da9d4 | 78 | fp = fopen("/sd/keylog/log.csv","w"); //csvを書き込み形式で開く |
overover | 1:923fec2da9d4 | 79 | fclose(fp); //ファイルを閉じる |
overover | 1:923fec2da9d4 | 80 | |
overover | 1:923fec2da9d4 | 81 | Thread keyboardTask(keyboard_task, NULL, osPriorityNormal, 256 * 4); |
overover | 1:923fec2da9d4 | 82 | |
overover | 1:923fec2da9d4 | 83 | while(1) { |
overover | 1:923fec2da9d4 | 84 | led=!led; |
overover | 1:923fec2da9d4 | 85 | Thread::wait(500); |
overover | 1:923fec2da9d4 | 86 | } |
overover | 1:923fec2da9d4 | 87 | } |
USER10 | 0:15908ba91581 | 88 | int main() { |
USER10 | 0:15908ba91581 | 89 | mkdir("/sd/keylog", 0777); |
USER10 | 0:15908ba91581 | 90 | FILE *fp; |
USER10 | 0:15908ba91581 | 91 | fp = fopen("/sd/keylog/log.csv","w"); |
USER10 | 0:15908ba91581 | 92 | fclose(fp); |
USER10 | 0:15908ba91581 | 93 | |
USER10 | 0:15908ba91581 | 94 | Thread keyboardTask(keyboard_task, NULL, osPriorityNormal, 256 * 4); |
USER10 | 0:15908ba91581 | 95 | while(1) { |
USER10 | 0:15908ba91581 | 96 | led=!led; |
USER10 | 0:15908ba91581 | 97 | Thread::wait(500); |
USER10 | 0:15908ba91581 | 98 | } |
USER10 | 0:15908ba91581 | 99 | } |