UINT8 GetDeviceDescr( PUINT8 buf ) // 獲取設(shè)備描述符 { UINT8 s, len; UsbDevEndpSize = DEFAULT_ENDP0_SIZE; s = HostCtrlTransfer374( SetupGetDevDescr, buf, &len ); // 執(zhí)行控制傳輸 if ( s == USB_INT_SUCCESS ) { UsbDevEndpSize =((PUSB_DEV_DESCR)buf )-> bMaxPacketSize0; // 端點(diǎn)0最大包長(zhǎng)度,這是簡(jiǎn)化處理,正常應(yīng)該先獲取前8字節(jié)后立即更新UsbDevEndpSize再繼續(xù) if ( len < ( (PUSB_SETUP_REQ)SetupGetDevDescr ) -> wLengthL ) s = USB_INT_BUF_OVER; // 描述符長(zhǎng)度錯(cuò)誤 } return( s ); }
請(qǐng)教一下,現(xiàn)有一個(gè)產(chǎn)品不能 獲取設(shè)備描述符,用了上面的程式 下面的看了很長(zhǎng)時(shí)間,不是太理解: // 端點(diǎn)0最大包長(zhǎng)度,這是簡(jiǎn)化處理,正常應(yīng)該先獲取前8字節(jié)后立即更新UsbDevEndpSize再繼續(xù)
這個(gè)沒有簡(jiǎn)化處理的應(yīng)怎么寫,給一個(gè)例程,謝謝!