USB endpoint configuration (Control Transfer)

Dear readers,

I’m developing a USB interface with KEIL MDK Plus (V5.35) and the STM32CubeMX (V6.5) tool.

Is it possible to configure endpoint 0 to a message pipe resp. to a control transfer type ? The Run-Time Environment looks like:

In principle it should be possible to edit BMAttributes = 0 (=control) but I think this is not supported by the library ? At least it is not a standard in the CustomClass_0.h file:

The reason is the used WinUSB driver  which can't access the "WinUsb_ControlTransfer" function.

Thanks in advance!

Best regards

Norbert

Parents
  • I'm not sure I completely understand what you are trying to do but in general USB device has only 1 Control Endpoint (EP0) which is minimum required for device to be able to be addressed and return basic information about it to the USB Host.

    Control Endpoint 0 can be used also to send or read data to/from Device or Interface or Endpoint, you already have and example Windows application with source code in the Middleware pack called WinUSB_Test.exe under folder similar to \ARM\PACK\Keil\MDK-Middleware\7.x.y\Utilities\WinUSB_Test\Release\ .

Reply
  • I'm not sure I completely understand what you are trying to do but in general USB device has only 1 Control Endpoint (EP0) which is minimum required for device to be able to be addressed and return basic information about it to the USB Host.

    Control Endpoint 0 can be used also to send or read data to/from Device or Interface or Endpoint, you already have and example Windows application with source code in the Middleware pack called WinUSB_Test.exe under folder similar to \ARM\PACK\Keil\MDK-Middleware\7.x.y\Utilities\WinUSB_Test\Release\ .

Children