Hi all.
I have been working in USB domain for a month and till now, i could not establish a proper communication between PIC24FJ256DA206(Host) and ubs keyboard(Device).
I have successfully received all the standard descriptors from usb keyboard. Also, i have sent SET_CONFIGURATION command to configure the device to establish communication.
I have also verified my device got configured using GET_CONFIGURATION command. Still my problem exists. As my usb keyboard is Low Speed device, it needs 10ms to update its IN buffer to transfer information about newly pressed keys. So, i have created Timer 1 Interrupt to generate 10ms of time delay in my host microcontroller to read Interrupt IN data from device periodically.
Whenever i send an IN token from host, my End Point 0 Input Status register is obtains STALL signal. I dont know why this happens.
For more information: My key board has 2 Interfaces, Interface 1 and Interface 2.
Interface 1 uses Endpoint 1 for Interrupt IN transaction and Interface 2 uses Endpoint 2 for Interrupt IN transaction.
Do i need to set and of these interfaces before i send IN packets?