??? 01/17/06 05:51 Read: times Msg Score: +2 +1 Informative +1 Good Answer/Helpful |
#107556 - I don't think you ever send descriptor . Responding to: ???'s previous message |
Saalam Mehdi,
I don't think you ever send the device descriptor to the pc host. The firmware does it for you. As I read this, all you need to do is make sure the Device Descriptor Buffer is written during the MCU initialization, before the enumeration process begins. Read pages 11 and 12 of the programming guide again, following along with the flow chart, and I think you'll see it (assuming that I'm not just completely bumfuddled the way I'm reading it). Using your own words from your original question, execute WRITE_TO_BUFFER_DEVICE_DESCRIPTORS:
MOV bLength,#12H MOV bDescriptorType,#01H MOV bcdUSBL,#10H MOV bcdUSBH,#01H MOV bDeviceClass,#00H MOV bDeviceSubclass,#00H MOV bDeviceProtocol,#00H MOV bMaxPacketSize,#08H MOV idVendorH,#34H MOV idVendorL,#12H MOV idProductH,#01H MOV idProductL,#00H MOV bcdDeviceH,#00H MOV bcdDeviceL,#01H MOV iManufacture,#01H MOV iProducts,#02H MOV iSerialNumber,#03H MOV bNumConfigurations,#01H CALL WRITE_DEVICE_DESCRIPTORS during the chip initialization, before the host sends the first device descriptor request. I think it is this buffer (control endpoint) that must be full (paragraph 3, page 11). Good luck, and let me know how it works. Joe |