Spanish Italian
17454 Users    

USB HID Class on an Embedded Host

  Download PDF version of the Article

Microcontroller applications can easily support USB embedded host functionality. Traditionally, the PC is used as a host in an USB network. Now, with Microchip’s microcontroller with host capability, the host can be implemented in an embedded system. Some of the most common uses of this capability are to interface to Human Interface Devices (HIDs).

The HID (Human Interface Device) class primarily consists of devices that are used to control any particular application. Typical examples of HID class devices include:

    • Keyboard and pointing devices
    • Control switches, sliders and so on
    • Joystick, steering and other gaming control inputs
    • Point-of-sale bar code scanners and magnetic card readers having an HID Keyboard Emulation mode

The HID class can be used for devices without human interface, too; such applications just need to be able to function within the limits of the HID class specifications.

Applications do not interface directly with the USB HID client driver. Instead, they use an application interface layer which will interface with the client driver, which in turn, will use the host layer.

The HID interface layer comprises the HID parser interfaces and interface functions to send and receive reports to and from the device. The report descriptor is parsed and the data is stored in predefined structures. The parser will populate these data structures with information extracted from the report descriptor. The application can use the functions defined in the interface layer to understand the report descriptor.

Watch & Read: http://dev.emcelettronica.com/usb-human-interface-device-class-embedded-...

Read more: http://ww1.microchip.com/downloads/en/AppNotes/01144a.pdf

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
2 + 1 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.

Who's new

  • fernand
  • Ligrock
  • paolo_0665
  • chanuei
  • JM
  • samsilva77
  • araghube
  • stoll
  • mt
  • orionkw

Who's online

There are currently 0 users and 59 guests online.