每上傳8個字節(jié),主機取走之后就產(chǎn)生端點0上傳成功的中斷給你。 關(guān)于地址這部分,375芯片已經(jīng)在內(nèi)部做了處理了,對于用戶來說不需要考慮地址的問題
問題解決!地址是要設(shè)的?。?!只是我一開始竟然把usb地址變量設(shè)成了局域變量,太悲哀了!
請問hcn,在收到Set configuration命令之后該如何回應(yīng)? 我參考CH372EVT的程序,向端點0上傳了一個長度0,可是這之后就收不到任何請求中斷了,一會兒PC機右下角就顯示硬件安裝失敗!是我上傳的配置描述符不正確還是其它什么問題? 以下是我的配置描述符: Device Descriptor: bcdUSB: 0x0110 bDeviceClass: 0x08 bDeviceSubClass: 0x06 bDeviceProtocol: 0x50 bMaxPacketSize0: 0x08 (8) idVendor: 0x4348 idProduct: 0x5537 bcdDevice: 0x0001 iManufacturer: 0x00 iProduct: 0x00 iSerialNumber: 0x00 bNumConfigurations: 0x01
ConnectionStatus: DeviceConnected Current Config Value: 0x01 Device Bus Speed: Full Device Address: 0x01 Open Pipes: 4
Endpoint Descriptor: bEndpointAddress: 0x82 Transfer Type: Bulk wMaxPacketSize: 0x0040 (64) bInterval: 0x00
Endpoint Descriptor: bEndpointAddress: 0x02 Transfer Type: Bulk wMaxPacketSize: 0x0040 (64) bInterval: 0x00
Endpoint Descriptor: bEndpointAddress: 0x81 Transfer Type: Interrupt wMaxPacketSize: 0x0008 (8) bInterval: 0x01
Endpoint Descriptor: bEndpointAddress: 0x01 Transfer Type: Interrupt wMaxPacketSize: 0x0008 (8) bInterval: 0x01
真確的流程是: 先上傳設(shè)備描述符,接著接收地址,在下來就是上傳配置描述符,接著就是接收主機發(fā)來的配置,在下面可能就是你的一些類描述符的上傳了,那你應(yīng)該在類請求里面做處理
我通過Bus Hound觀察,發(fā)現(xiàn)Set Config命令處理是正確的,然而緊接著主機又向CH375發(fā)出兩個命令,一個是Set Interface,其后一個是Get Max Lum??墒沁@兩個命令我都檢測不到,這是為什么?Get Max Lum這個命令又是什么意思?
這個應(yīng)該是類請求,你可以參考海量存儲的協(xié)議,里面有告訴你怎么返回數(shù)據(jù)
問題就是這兩個命令我無法接收到,只能在bus hound中看到,所以就無法進行處理!這是為什么?