Forum: Mikrocontroller und Digitale Elektronik LPC 3250 USB Device


von Amal N. (Firma: fraunhofer) (amal2010)


Lesenswert?

Hallo,

Ich programmiere eine USB device funktionalität der LPC3250. Mein Device 
muss CDC (Communication Device Class) beherschen. Als Treiber hab ich 
Libusb und mein Gerät wurde erkannt. Das Problem ist dass der Host keine 
SET_CONFIGURATION Anfrage schickt. daraus verstehe ich dass das Gerät 
nicht richtig konfiguriert ist.

kann mir jemanden helfen und sagen was ich da falsch mache?


so sehen meine Deskriptoren aus:

// Device Descriptor

const unsigned char USB_DeviceDesc[] = {
  USB_DEVICE_DESC_SIZE ,
  USB_DEVICE_DESCRIPTOR_TYPE,
  WBVAL(0x0200),
  0x02,
  0x00,
  0x00,
  MAX_PACKET_SIZE,
  WBVAL(0x03EB),
  WBVAL(0x204B),
  WBVAL(0x0120),
  0x01,
  0x02,
  0x00,
  0x01,

};

/******Configuration descriptor*******/
const unsigned char USB_ConfigDesc[] = {

  USB_CONFIGUARTION_DESC_SIZE,
  USB_CONFIGURATION_DESCRIPTOR_TYPE,
  WBVAL(0x0020),
  0x02,
  0x01,
  0x03,
  0xA0,
  0x32,

     //USB communication Interface Descriptor

  USB_INTERFACE_DESC_SIZE,
  USB_INTERFACE_DESCRIPTOR_TYPE,
  0x01,
  0x00,
  0x01,
  0x02,
  0x02,
  0x01,
  0x04,

     //Sample Communications Class Specific Interface Descriptor
  0x05,
  0x24,
  0x00,
  WBVAL(0x0110),

  0x04,
  0x24,
  0x02,
  0x0F,

  0x05,
  0x24,
  0x06,
  0x00,
  0x01,

  0x05,
  0x24,
  0x01,
  0x03,
  0x01,


     //USB Standard Endpoint Descriptor

  USB_ENDPOINT_DESC_SIZE,
  USB_ENDPOINT_DESCRIPTOR_TYPE,
  0x83,
  0x03,
  WBVAL(0x0040),
  0x0A,

     //USB Data Interface Descriptor

  USB_INTERFACE_DESC_SIZE,
  USB_INTERFACE_DESCRIPTOR_TYPE,
  0x01,
  0x00,
  0x02,
  0x0A,
  0x00,
  0x00,
  0x05,

      //USB Endpoint Descriptor
  USB_ENDPOINT_DESC_SIZE,
  USB_ENDPOINT_DESCRIPTOR_TYPE,
  0x04,
  0x02,
  WBVAL(0x0040),
  0x00,

      //USB Endpoint Descriptor
  USB_ENDPOINT_DESC_SIZE,
  USB_ENDPOINT_DESCRIPTOR_TYPE,
  0x85,
  0x02,
  WBVAL(0x0040),
  0x00,
};



ich bedanke mich,
Amal

: Verschoben durch Moderator
von Potter S. (potter68)


Lesenswert?

Hallo Amal Nada,
1
/******Configuration descriptor*******/
2
const unsigned char USB_ConfigDesc[] = {
3
4
  USB_CONFIGUARTION_DESC_SIZE,
5
  USB_CONFIGURATION_DESCRIPTOR_TYPE,
6
  WBVAL(0x0020),

0x0020 = Größe des Config-Dsc. Zähl mal nach!

Gruß Ralf

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.