Control de dispositivos a través del módulo USB del PIC18F45/2550

Saludos a todos

Soy un poco nuevo en el tema , programo en C compiler y VB6.0...
Mi duda es la siguient :
Como hago para enviar datos mayores a 255 en el protocolo de Bulk Transfer o HID....
Si alguien me pudiera colabrar me seria de gran ayuda.....
 
Yo estoy investigando lo mismo....y lo único que se me ocurre es que dividas el dato que querás enviar en 2 buffer y lo envies...y luego en la PC armes el dato de vuelta.
 
Saludos a todos.

Hace rato... que no hago nada en cuanto a electrónica, y otra vez me picó el gusanito. Tengo una pregunta: ¿Es posible realizar comunicación USB entre el PIC y PC creando una interfaz en Visual Basic 2008? Si la hay, ¿qué método utilizan o que librerías habría que conseguir? Perdón si por ahi ya contestaron esto, pero es que no tendría tiempo de leer todos los post.

Gracias por cualquier respuesta
 
Hola Moyano,
Ya he dado con la clave, yo estaba usando la version 4.093 del CCS. Hice un downgrade de la version, baje a la 4.065 y ahora si funciona cuando compilo el proyecto desde mi MPLAB. Por curiosidad, ¿que version de CCS utilizas?

No tengo muy claro porque, pero me parece que la gente de CCS ha hecho algun cambio en las librerias USB que no está bien ¿?¿?¿?.

Pues eso.. a seguir urgando ....
Un saludo

Pues si, hay un problema en la version 4.093 del CCS.

Mas info en el foro de CCS:
http://www.ccsinfo.com/forum/viewtopic.php?t=40319&highlight=093
http://www.ccsinfo.com/forum/viewtopic.php?t=40778&highlight=093

Ya sabeis... la 4.093 no esta OK.
Ami me pasa exactamente = uso el .hex que subio moyano para identificar x e y, usando el software que hize me funciona perfecto, peor cuando compilo el ejemplo 1 intentando que me devuelva alguna cosa nose algun printf o diferenciar si quiera datos enviados, no hacia nada.

Baje el ccs
esa version funciona perfecto ahora todos los ejemplos funcionan sin ningun problema, asique era cosa del compilador que esta fallao :LOL:
 
Última edición:
Saludos a todos.

Hace rato... que no hago nada en cuanto a electrónica, y otra vez me picó el gusanito. Tengo una pregunta: ¿Es posible realizar comunicación USB entre el PIC y PC creando una interfaz en Visual Basic 2008? Si la hay, ¿qué método utilizan o que librerías habría que conseguir? Perdón si por ahi ya contestaron esto, pero es que no tendría tiempo de leer todos los post.

Gracias por cualquier respuesta
Hola QuimCri, si es posible usando vb 2008 en este foro casi todos usan C o usan vb6 o 2005, yo estoy usando el vb 2008 y te digo que si es posible, usando la herramienta "SerialPort" es muy simple de usar la verdad no necesitas mayor conocimiento, adjunto el programa con el codigo junto te subo una prueba en C del un programa que reconosca bien caracteres recibidos y a demas juege con los pines del micro, lo importante bajate esta version de css
las superiores no funcionan, porque nose :LOL:, bueno aca estan los archivos ojalaa te sirva de algo, salu2
 

Adjuntos

Saludos.

Le agradezco a Adler su oportuna respuesta(y). La verdad no había recordado el método CDC, y la verdad es un buen comienzo. Hace ya tiempo que había trabajado con el VB6 utilizando esta estrategia para algunas cositas de la universidad, y como dice Adler, es sencillo. Tengo que ponerme a cacharrear para recordar cosillas que con el tiempo se olvidan :unsure:.

No obstante también había trabajado con un programa llamado EASYHD, y de esta manera no se necesitaba instalar controlador para desarrollar la comunicación USB con la aplicación de VB6 (aunque hacer funcionar bien el sistema era arduo). Por eso quisiera saber si conocen de algún .api o librería que permita hacer llamado a subrutinas de comunicación que sirva en VB 2008, así como el EASYHD los creaba para trabajar con el VB6.

Muchas gracias a todos. Revisaré lo que encuentre y cualquier cosa también le entraré a la participación.
 
hola cho-k yo tambien estoy investigando lo mismo, por que no he podido enviar mas de 100bytes por USB, pero no he logrado nada, a ti como te ha ido con eso?, sera posible enviar 2000 bytes adquiridos por el conversor A/D?, me imagino que tendria que hacer varios envios y hacer un buffer en el labview que los vaya recibiendo hasta que sean los 2000....
 
Hola otra vez a todos, en esta ocasión quiero hacer un humilde aporte y una petición, primero acá dejo una prueba simple usando el easyHID en vb 6 viene con el hex y el ccs ,lo que hace es enviar datos al PIC para activar diferentes pines del puerto B, ademas tiene unos flags que van mirando los estados del puerto B y va enviando al software para que las prenda o apage, en verdad es super simple ninguna maravilla pero es para que algunos que tal vez no entiendan como hacerlo enviando y recibiendo en el mismo programa usando el HID puedan entender tal vez mas.
Bueno y la petición es si alguno conoce alguna forma de usar HID en vb 2008, haber si envían algo que e buscado y no hay casi nada :LOL:, bueno eso gracias.
 

Adjuntos

Hola, primero tengo que felicitar a Moyano Jonathan por estos ejemplos que me tentaron y me decidi y estoy empezando con esto del usb.
Hice un "copy and paste" del primer código para el pic que posteaste (ejercicio numero 1) y cuando lo compilo me da este error:
Código:
*** Error 24 "C:\ARCHIV~1\PICC\devices\18F2550.h" Line 3(9,29): Unknown device type    -- Try PCH
Ustedes saben que esta pasando? yo no tengo idea porque nunca me habia tirado ese error...:confused::confused:
Gracias
 
Última edición:
hola vegetal digital, parece ser que estas compilando el archivo .h que no posee ningun encabezado, cierra el programa y vuelce a abrir esta vez el archivo con extencion .C e intenta compilarlo , debe ser eso o un problema con tu encabezado, talvez si posteas la linea donde marca este error (3), se puede concluir mejor cual es el prblema
 
Que tal compañeros, visitando la pagina de muchotrasto me encontre con el proyecto PicCalculadoraUSB Visual C++ 6, me propuse a construir mi propio proyecto, segi las instrucciones del tutorial pero mi programa no recive los datos del pic, del cual tomo el valor del modulo A/D. En mi programa solo recivo el valor de 205 y es el mismo resultado si esta conectado o no. ¿Tienen idea de donde puede estar mi error? El programa aun no lo ternimo, me intereza primero la comunicación. Un saludo y gracias por sus aportaciones.

Les dejo los comprimidos de los proyectos tanto de visual como del pic, el driver y el descriptor los tome de los ejemplos de jim.
 

Adjuntos

hola cho-k yo tambien estoy investigando lo mismo, por que no he podido enviar mas de 100bytes por USB, pero no he logrado nada, a ti como te ha ido con eso?, sera posible enviar 2000 bytes adquiridos por el conversor A/D?, me imagino que tendria que hacer varios envios y hacer un buffer en el labview que los vaya recibiendo hasta que sean los 2000....

Hola Jenn_t
La verdad asta el momento he trabajado tan solo con 3 bytes y labview nunk lo he manejado , y por curiosidad , para que necesitas esa cantidad de bytes....?
 
Hola amigos vengo aqui a pedir ayuda para ver si alguien podria postear algun programa donde pueda mandar numero binarios a traves de las flechas y las letras del teclado no realmente configurar el numero binario que deseo pero eso lo podre editar yo pero si me gustaria que me pudiesen proporcionar un programa asi. Deseo mandar hasta el numero 512 binario si es que es posible o hasta el numero que sea posible, y necesito que se utilicen las 4 flechas y 4 teclas por lo menos, muchas gracias por su ayuda espero que me puedan ayudar estare al pendiente de ustedes y otros post para buscar mas informacion.
 
consulta. veo que mucha agua a pasado por debajo del puente desde que se abrio este post. me pregunto (y mas que nada le pregunto a Moyano Jonathan, creador del post) si es posible hacer algun tutorial APB (a prueba de bolu... errores) para poder desde 0 hacer un dispositivo simple (un pic que prenda 1 led) comunicado por usb. esto implicaria generar desde 0:
1- un proyecto en proteus con el conector usb, el pic y demas (me parece que seria lo ideal ya que es una herramienta barbar para simular dispositivos, incluso tiene algunos ejemplos que funcionan muy bien pero son totalmente cerrados a modificaciones)
2- el hid y demas controles para que win lo detecte
3- un programa simple en visual que tenga un boton que prenda y apague el led.

se que parece un poco tedioso lo que pido pero creo que seria de gran ayuda para todos los que como yo hace unos meses se dio cuenta que usb es genial pero muy dificil

para que entiendan un poco desde donde viene mi requerimiento, soy un estudiante de ing en automatizacion y control industrial en la universidad nacional de quilmes (UNQ) en buenos aires argentina, y con un compañero estamos tratando de implementar un sistema de simulacion de procesos (fisicos, quimicos, mecanicos) para poder controlarlos con algun dispositivo (micros, plc, etc), esto lo estamos tratando de implementar con un dispositivo de conversion serie-paralelo, recibiendo los datos desde la pc (a traves del puerto usb) y transformandolos a paralelo para simular los distintos sensores de la planta. espero que puedan ayudarme

saludos a todos
 
@morgan como te vá ...voy a tratar de hacer eso q me pedís pero mi tiempo es escaso ...por eso a veces no estoy muy pendiente de lo que pasa en el foro...cuando me doy un tiempo nomás me pongo a hacer post sobre diversos temas. Lo que me pedís ya lo he empezado a hacer hace un año atras..pero temas de estudio lo tuve que dejar....yo este año entro a ingeniería electrónica en mendoza ( UTN ) y mi tiempo cuando entre va a ser muy escaso... por lo que mi aporte al foro va a ser escaso.
como te dije lo que vos pedís está cocinandose ...pero este fin de semana en una de esas puedo poner algún tutorial de como se hace para prender un LED...recibir una trama de sensores digitales y recibir el valor de los sensores analógicos, todo depende del tiempo q tenga....tengo muchos proyectos de electrónica propios ya sean comerciales o de aprendizaje.. tales como ETHERNET que cuando tenga los componentes que me faltan lo voy a postear con todos los lujos de detalles que sea posible, control de casas por internet que también va a tener su post...etc.. pero todo depende del tiempo que tenga en el futuro...
Espero que me entiendas...y que sepas disculparme si no te ayudo de una manera más personalizada.
PD: Aunque parezca medio largo acá en este hilo está todo lo que vos necesitas para poder desarrollar de forma satisfactoria la comunicación USB.
 
jenn_tgracias por tu respuesta, lo que yo hacia era compilar el archivo c y me tiraba ese error en la libreria del pic, es más, al hacer clic para que me lleve al error me abria la libreria pic18f2550.h.
Desinstale todito (eso incluye archivos en el registro) lo volvi a instalar y ahora anda...¿?:confused:
en fin, grabe el micro, lo lei y todo bien por ahora, tengo que empezar con el hardware asi que seguramente dentro de poco me tendran molestando aqui de vuelta.:D
Saludos y gracias nuevamente.