Simple USBHost Mouse for FRDM-KL46Z test program

Dependencies:   KL46Z-USBHost mbed

FRDM-KL46ZをUSBホストにしてUSBマウスを読み取るテストプログラムです。 /media/uploads/va009039/frdm-kl46z-usbhost-mouse.jpg
注意:
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

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?

UserRevisionLine numberNew 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 }