SDAA062 September   2025 TMS320F28P559SJ-Q1

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Introduction
    1. 1.1 Intelligent Cabin and IVI System
    2. 1.2 USB Interface Application in IVI
    3. 1.3 TMS320F28P55x Introduction
  5. 2USB Composite Device Enumeration and Data Report
    1. 2.1 USB Composite Device Enumeration
      1. 2.1.1 Descriptor Structure
      2. 2.1.2 Descriptor Types
        1. 2.1.2.1 Device Descriptor
        2. 2.1.2.2 Configuration Descriptor
        3. 2.1.2.3 Interface Descriptor
        4. 2.1.2.4 Endpoint Descriptor
        5. 2.1.2.5 String Descriptor
    2. 2.2 USB Composite Device HID Data Report
      1. 2.2.1 Data Report Item
      2. 2.2.2 HID Report Descriptor Structure
        1. 2.2.2.1 Main Item
        2. 2.2.2.2 Global Item
        3. 2.2.2.3 Local Item
    3. 2.3 Example of Building a HID Report Descriptor
  6. 3Software Realization
    1. 3.1 APIs for USB Composite Device Initialization
      1. 3.1.1 USBStackModeSet
      2. 3.1.2 USBDCDCCompositeInit
      3. 3.1.3 USBDHIDCustomCompositeInit
      4. 3.1.4 USBDCompositeInit
    2. 3.2 APIs for USB Composite Device CDC Data Report
      1. 3.2.1 USBBufferSpaceAvailable
      2. 3.2.2 USBBufferWrite
      3. 3.2.3 USBBufferRead
      4. 3.2.4 USBDCDCTxHandler
      5. 3.2.5 USBDCDCRxHandler
    3. 3.3 APIs for USB Composite Device HID Data Report
      1. 3.3.1 USBDHIDCustomTouchEvent
      2. 3.3.2 USBDHIDCustomReportKey
    4. 3.4 APIs for USB Composite Device Simulation
      1. 3.4.1 MultTouchSimHandler
      2. 3.4.2 KeySimHandler
    5. 3.5 APIs for USB Device Operate States Query
      1. 3.5.1 USBDCDCControlHandler
      2. 3.5.2 CustomHandler
  7. 4System Test
    1. 4.1 Test Setup
    2. 4.2 USB SCI CDC Device Function Test
    3. 4.3 USB Touch Screen HID Device Function Test
    4. 4.4 USB Button HID Device Function Test
  8. 5Summary
  9. 6References
  10. 7Appendix

USBBufferWrite

This function writes the supplied data into the transmit buffer. This API is called in ReadSCIData() function in USBSCIRXIntHandler(). The transmit buffer data is packaged according to the constraints imposed by the lower layer in use and sent to the USB controller as soon as possible. Once a packet is transmitted and acknowledged, a USB_EVENT_TX_COMPLETE event is sent to the application callback indicating the number of bytes that are sent from the buffer. Attempts to send more data than the transmit buffer range results in data loss. The value returned by the function indicates the actual number of bytes written to the buffer.

Table 3-6 USBBufferWrite API Input Variables and Descriptions
Input Variables Description
psBuffer The pointer to the buffer instance that is to be queried.
pui8Data The first byte of data that is to be written.
ui32Length The number of bytes of data to write to the buffer.