Hi All,
I am using Jan's Visual Basic code(USBHIDIO) to communicate with PIC18F2550 configured as HID.As such there is no problem in communication & I am able get 2 bytes from the PIC for an indefinite amount of time.But sometimes any electrical appliance(soldering iron,transformer etc.) switched in the vicinity causes the program to latchup & I have to restart VB6 IDE to clear the condition.But , surprisingly ,even under the latched condition there is no problem detected in the device manager which shows the HID device which is "working properly".I have also checked the D+ & D- lines with an oscilloscope during the latched up condition;periodic transactions are present indicating that the PIC is still connected to the Windows.
So , obviously, something needs to be incorporated(quite possibly a timer) in the VB6 routine to prevent the latchup condition.
Can somebody help please?
I am reproducing the part of the code which is being called periodically by the timer(slightly modified from Jan's original code):
Private Sub ReadAndWriteToDevice()
'Sends two bytes to the device and reads two bytes back.
'On Error Resume Next
Dim byte_counter As Integer
'If the device hasn't been detected or it timed out on a previous attempt
'to access it, look for the device.
If MyDeviceDetected = False Then
MyDeviceDetected = FindTheHid
End If
If MyDeviceDetected = True Then
OutputReportData(0) = Asc("a")
OutputReportData(1) = Asc("q")
End If
'Write a report to the device
Call WriteReport
Call ReadReport
Else
End If
End Sub
Thanks.