2016-08-08 8 views
1

私はSTM32F4 MCUに仮想COMポートを実装しています。USB CDCはインターハンドエンドで1回のみ動作します

MCUにはエンドポイントが残っていないので、interuptエンドポイント/通知要素を取り消す必要があります。 問題は、MCUがPCにメッセージを一度しか送信できないことです。

デバイスのUSBディスクリプタ:私はこの役に立たないエンドポイントを削除した場合

Interface Association Descriptor: 
------------------------------ 
0x08 bLength 
0x0B bDescriptorType 
0x02 bFirstInterface 
0x02 bInterfaceCount 
0x02 bFunctionClass (Communication Device Class) 
0x02 bFunctionSubClass (Abstract Control Model) 
0x01 bFunctionProtocol (ITU-T V.250) 
0x06 iFunction 

Interface Descriptor: 
------------------------------ 
0x09 bLength 
0x04 bDescriptorType 
0x02 bInterfaceNumber 
0x00 bAlternateSetting 
0x00 bNumEndPoints 
0x02 bInterfaceClass (Communication Device Class) 
0x02 bInterfaceSubClass (Abstract Control Model) 
0x01 bInterfaceProtocol (ITU-T V.250) 
0x02 iInterface "" 

CDC Header Functional Descriptor: 
------------------------------ 
0x05 bFunctionalLength 
0x24 bDescriptorType 
0x00 bDescriptorSubtype 
0x0110 bcdCDC 

CDC Call Management Functional Descriptor: 
------------------------------ 
0x05 bFunctionalLength 
0x24 bDescriptorType 
0x01 bDescriptorSubtype 
0x00 bmCapabilities 
0x01 bDataInterface 

CDC Abstract Control Management Functional Descriptor: 
------------------------------ 
0x04 bFunctionalLength 
0x24 bDescriptorType 
0x02 bDescriptorSubtype 
0x02 bmCapabilities 

CDC Union Functional Descriptor: 
------------------------------ 
0x05 bFunctionalLength 
0x24 bDescriptorType 
0x06 bDescriptorSubtype 
0x00 bControlInterface 
0x01 bSubordinateInterface(0) 

Interface Descriptor: 
------------------------------ 
0x09 bLength 
0x04 bDescriptorType 
0x03 bInterfaceNumber 
0x00 bAlternateSetting 
0x02 bNumEndPoints 
0x0A bInterfaceClass (CDC Data) 
0x00 bInterfaceSubClass 
0x00 bInterfaceProtocol 
0x02 iInterface "" 

Endpoint Descriptor: 
------------------------------ 
0x07 bLength 
0x05 bDescriptorType 
0x03 bEndpointAddress (OUT Endpoint) 
0x02 bmAttributes (Transfer: Bulk/Synch: None/Usage: Data) 
0x0010 wMaxPacketSize (16 Bytes) 
0x00 bInterval 

Endpoint Descriptor: 
------------------------------ 
0x07 bLength 
0x05 bDescriptorType 
0x85 bEndpointAddress (IN Endpoint) 
0x02 bmAttributes (Transfer: Bulk/Synch: None/Usage: Data) 
0x0010 wMaxPacketSize (16 Bytes) 
0x00 bInterval 

答えて

0

がusbserのWindowsドライバがナットを行きます。 アプリケーションがアプリケーションを使用することがない場合でも、interupt INエンドポイントが必要です。

関連する問題