Communications Across The HID Interface
Communications Across The HID Interface
Communications Across The HID Interface
The descriptors configure Endpoint 3 to be the Audio Class's isochronous endpoint. The USB Interrupt Service Routine ISR will vector to the Endpoint 3 handler when it receives a token packet from the host requesting a transfer with that endpoint. The contents of this handler are highly system specific, but will most likely perform one or more of the following tasks:
For an IN stream from device to host, the handler places data on the Endpoint 3 FIFO.
For an OUT stream from host to device, the handler processes FIFO data received from the host.
The handler updates global variables used in other custom system-specific operations.
When large amounts of data must be processed inside the handler, fast ISR execution speed becomes crucial to system stability. If the device has not finished servicing one ISR call when the host calls for the device to begin the next ISR call, audio packets might be lost. In these cases, users should consider writing code for the USB ISR and often-executed routines in embedded 8051 Microcontroller assembler language.
HID Interface
For communications across the HID Interface, users must make a number of modifications to Firmware Template files. The HID Specification requires that all HID data be formatted into reports, which are data structures defined in one of the HID's descriptors. Reports can travel across the control endpoint or the interrupt endpoints, Endpoint 1 and Endpoint 2. The Firmware Template defines Endpoint 1 as an IN endpoint and Endpoint 2 as an OUT endpoint. The Control Endpoint sends and receives HID reports through the standard requests Set Report and Get Report, respectively.
Making the following modifications will enable HID data traffic:
In F3xx_USB_Common.c, write endpoint handler routines that process HID IN or OUT endpoint traffic
In F3xx_USB_Common.c, add calls to appropriate endpoint handlers in the USB Interrupt Service Routine.
In F3xx_USB_Class_Specific_Requests.c, Get_Report() contains a switch statement that need to be populated with a case for each potentially outgoing report, designated by its unique Report ID.
In F3xx_USB_Class_Specific_Requests.c, Set_Report() points data pointers to a buffer where incoming data is stored, and Handle_Set_Report() contains a switch statement that need to be populated with a case for each potentially incoming report.
Tone Generator Reference Design
The Tone Generator reference design uses the Firmware Template to create a simple USB Audio Class Device that sends a single tone across an audio stream to a host-side PC application. This design generates its audio signal by a wave table stored in the microcontroller's nonvolatile memory. The system outputs a stereo sine wave across an isochronous endpoint.
My Husband Stopped Talking to Me – How to Open the Lines of Communication Again What can you do for effective communication How can you improve your communication skills? 2011 U.s. Wired Telecommunications Carriers Industry Report Making The Most From Grapevine Communication How Communications Impacts Student Retention The 3 Key Questions In Stakeholder Communications Communication is Overrated Get Him Back – Opening the Lines of Communication to Win Him Back The Main Reasons Why Arabs Have Communication Problems In Estonia Telecommunications and The World Wide Web Understanding the Best Which XO Communications Typically Offer Rhub Core Competence-unified Communication
www.yloan.com
guest:
register
|
login
|
search
IP(3.17.9.170) /
Processed in 0.007940 second(s), 5 queries
,
Gzip enabled
, discuz 5.5 through PHP 8.3.9 ,
debug code: 29 , 2969, 613,