Simple USBHost Mouse for FRDM-KL46Z test program
Dependencies: KL46Z-USBHost mbed
FRDM-KL46ZをUSBホストにしてUSBマウスを読み取るテストプログラムです。
注意:
USBマウスへのリセットが失敗する時があります。一旦外して再接続すると動く時があります。
参考:
khci.c khci_kinetis.c Freescale USB Stack V4.0.2
USBHAL_KL25Z.cpp mbed USBDevice
35.6 Host Mode Operation Examples Freescale KL4x Reference Manual
main.cpp@2:92baa6b484ba, 2014-02-03 (annotated)
- Committer:
- va009039
- Date:
- Mon Feb 03 13:09:39 2014 +0000
- Revision:
- 2:92baa6b484ba
- Parent:
- 1:4e89a986563d
update KL46Z-USBHost library.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
va009039 | 0:cff12556bc2a | 1 | // Simple USBHost Mouse for FRDM-KL46Z test program |
va009039 | 0:cff12556bc2a | 2 | |
va009039 | 0:cff12556bc2a | 3 | #include "USBHostMouse.h" |
va009039 | 0:cff12556bc2a | 4 | |
va009039 | 1:4e89a986563d | 5 | DigitalOut led1(LED_GREEN); |
va009039 | 1:4e89a986563d | 6 | DigitalOut led2(LED_RED); |
va009039 | 0:cff12556bc2a | 7 | #define LED_OFF 1 |
va009039 | 0:cff12556bc2a | 8 | #define LED_ON 0 |
va009039 | 0:cff12556bc2a | 9 | |
va009039 | 2:92baa6b484ba | 10 | void callback(uint8_t buttons) { |
va009039 | 2:92baa6b484ba | 11 | led1 = (buttons&1) ? LED_ON : LED_OFF; // button on/off |
va009039 | 2:92baa6b484ba | 12 | led2 = (buttons&2) ? LED_ON : LED_OFF; |
va009039 | 2:92baa6b484ba | 13 | printf("%02x\n", buttons); |
va009039 | 2:92baa6b484ba | 14 | } |
va009039 | 2:92baa6b484ba | 15 | |
va009039 | 0:cff12556bc2a | 16 | int main() { |
va009039 | 1:4e89a986563d | 17 | USBHostMouse mouse; |
va009039 | 2:92baa6b484ba | 18 | if (!mouse.connect()) { |
va009039 | 2:92baa6b484ba | 19 | error("USB mouse not found.\n"); |
va009039 | 2:92baa6b484ba | 20 | } |
va009039 | 2:92baa6b484ba | 21 | mouse.attachButtonEvent(callback); |
va009039 | 2:92baa6b484ba | 22 | while(1) { |
va009039 | 2:92baa6b484ba | 23 | USBHost::poll(); |
va009039 | 0:cff12556bc2a | 24 | } |
va009039 | 0:cff12556bc2a | 25 | } |