Hola!
estoy empezando en el mundo de los pics y del usb, en los pics llevo mas tiempo, y en usb estoy recien empezando, mi problema radica en que, no puedo enviar ni un solo dato al pic que tengo conectado, y funcionando correctamente (este esta simulado en proteus), el programa me detecta el pic, pero no logro enviarle datos, no se si no he abierto correctamente la comunicacion o que, bueno les coloco mi codigo fuente del programa, haber si alguien me ayuda a detectar el problema, respecto al programa del pic estoy usando uno que encontre en la web, para ahorrar tiempo en hacerlo, primero estoy desarrollando el programa para pc, y luego creare mi programa para el pic, o talvez modificare el que ya tengo.
Public Class Form1
Public Declare Function MPUSBGetDLLVersion Lib "mpusbapi.dll" () As Long
Public Declare Function MPUSBGetDeviceCount Lib "mpusbapi.dll" (ByVal pVID_PID As String) As Long
Public Declare Function MPUSBOpen Lib "mpusbapi.dll" (ByVal instance As Long, ByVal pVID_PID As String, ByVal pEP As String, ByVal dwDir As Long, ByVal dwReserved As Long) As Long
Public Declare Function MPUSBClose Lib "mpusbapi.dll" (ByVal handle As Long) As Long
Public Declare Function MPUSBRead Lib "mpusbapi.dll" (ByVal handle As Long, ByVal pData As Long, ByVal dwLen As Long, ByRef pLength As Long, ByVal dwMilliseconds As Long) As Long
Public Declare Function MPUSBWrite Lib "mpusbapi.dll" (ByVal handle As Long, ByVal pData As Long, ByVal dwLen As Long, ByRef pLength As Long, ByVal dwMilliseconds As Long) As Long
Public Declare Function MPUSBReadInt Lib "mpusbapi.dll" (ByVal handle As Long, ByVal pData As Long, ByVal dwLen As Long, ByRef pLength As Long, ByVal dwMilliseconds As Long) As Long
Dim out_pipe = "\MCHP_EP1"
Dim in_pipe = "\MCHP_EP1"
Dim MP_WRITE = 0
Dim MP_READ = 1
Const USBbuf = 32
Dim USBesc = 0
Dim USBBF = 1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Timer1.Start()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
MPUSBOpen(0, "VID_0x04d8&PID_0x000b", out_pipe, MP_WRITE, 0)
MPUSBWrite(MP_WRITE, TextBox1.Text, USBbuf, USBesc, 1000)
MPUSBClose(0)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If MPUSBGetDeviceCount("VID_04d8&PID_000b") = "1" Then
Label1.Text = "Dispositivo Conectado"
Timer1.Stop()
Else
Label1.Text = "No hay Dispositivo"
End If
End Sub
End Class