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

Moyano Jonathan dijo:
:cool: Hola a todos de nuevo

Acá les traigo un nuevo ejemplo. Esta véz se trata de algo concreto, un control de 8 relés por puerto USB utilizando la clase HID C de CCS y Visual Basic 2005.

A diferencia del ejemplo que había posteado sobre el control de 8 relés , este funciona a la perfección y mucho más rápido. No necesita drivers por lo que es plug and play.

Espero les sirva , ahora me voy a dedicar a terminar lo de mpusbapi que es bastante y luego seguiremos si dios quiere con HID y MSDC (mass storage device class) , pero eso será para más adelante.


quisiera preguntarte algo en concreto con respecto a un ejemplo que pusiste para manejar 8 reles via usb... mi pregunta es la siguiente se pueden conectar mas de uno de estos dispositivos en los diferentes puertos usb que trae el pc por que la mayoria como minimo tienen dos en mi caso 3 o en el de los pc de torre 6 pero esa es la pregunta por que si la aplicacion en vb que creaste es solo para uno al conectar otro y tratar de utilizarlo... no se activarian los dos a la vez? o simplemente no funcionaria el segundo? ... me equivoco?


Moyano Jonathan dijo:
:) Hola como andas, mirá podés conectar más dispositivos pero tenés enumerarlos , hay una parte en las librerías de dscriptores en la que describis cuantos dispositivos tenés conectados. Igual nunca he probado con mas de un dispositivo conectado al puerto.

adjunto la libreria de descriptores que esta en el zip que subiste he buscado en la libreria pero ni rastro de donde debo enumerarlos o como... la he puesto en un documento word me seria de gran ayuda si pudieses marcar con negrilla donde o como se deben enumerar para conectar mas de un dispositivo.

espero tu respuesta de antemano muchas gracias
 

Adjuntos

  • usb_desc_hid_modificada_145.doc
    41.5 KB · Visitas: 503
Mirá la verdad es un poco complicado el tema de la enumeracion, pero tengo que hacer pruebas ya que nunca he controlado mas de un dispositivo. Se me ocurre que una manera menos complicada de hacerlo sería asignandoles vid y pid diferente a cada dispositivo y que lo selecciones mediante programación.

Otra cosa la librería que me pasaste esta desactualizada. Yo cree mi propia libreria de control para enlazarla con los programas de control generados con el software easyHID. Por lo que esas librerías que vos me mostras no sirven mas

Los programas de control generados con easyHID son muchos mas rapidos (con respecto a la transmision y recepcion de datos).

Luego voy a ser una descripción mas completa de todo lo que estoy diciendo pero por ahora no tengo demasiado tiempo.
 
saludos, quisiera saber que tan complicado seria utilizar otros lenguages tanto para el pic como para el pc, me explico, siempre me ha gustado programar pics con assemble, me parece que da mas control y no desperdicia memoria, entonces no se si sea posible hacer mi programa en assemble y tener las librerias usb_desc_cdc.h y usb_cdc.h en C para no tener que pasarlas a assemble (eso resultaria realmente engorroso).

otra cosa que necesito hacer es escribir el programa del lado del pc en java, tengo buen conocimiento de java pero no he tenido que usar los puertos del pc, entonces no se si seria depronto con manejo de sockets o streams, o si deba utilizar una libreria de windows para poder reconocer y usar el micro cosa que no creo.

si alguien me puede ilustrar le agradesco de antemano
 
hola suma, mirá la programación la podés realizar en otros lenguajes como proton ide, mikrobasic, asm. Yo por lo pronto se manejar solamente C y te recomiendo que lo aprendas ya que todo lo que vas a encontrar de usb o por lo menos la gran mayoria está hecho en C tanto en C de CCS como C18 de microchip.

Ahora en Java , no tengo ni idea de como es la programación. Solo se programar en visual basic 6.0 y estoy indagando en Visual C#.
 
jokelnice dijo:
si el enlace si sirve , el tutorial esta muy bueno amigo meta , vamos haber si lo utilizo para ayudar mas en el foro gracias

Gracias por el aviso y la sugerencia.

¿Realmente vale la pena perder el tiempo en hacer la parte de VB6 para el manual?
 
El Visual Basic 6 no lo consigo, deja ver por la tarde cuando tenga tiempo libre y empezaré a mirar y pedir ayuda a ver si soy capaz de manejar el PIC con ese programa porque muchos por e-mail me lo piden. Lo pondré en la parte del manual después del Visual Basic .net. Antes que nada conseguir ese VB6 y empezar a probar a ver que pasa. Me han dicho que si hago una aplicación con VB6, en el otro PC no me funciona porque debo coger archivos e introducirlos en los System32 de los windows o algo así.

Por una parte no hay problema ya que utilizaré y enseñaré como se usa un instalador para VB6 que es el mismo (puede ser otro) que utilicé en la página 422 de este manual Visual C#.

PD: Al final voy a utilizar todos los compiladores antes de empezar a manejar puertos paralelos.

EDIT:
Encontré algo por si acaso.

http://www.abcdatos.com/tutoriales/tutorial/g205.html

Saludo.
 
Meta yo te puedo ayudar con el ejemplo en VB6, esperame el fin de semana y veo como puedo darte una mano.

PD: Si vas a empezar algo luego del puerto serie, estaría mas interesante que empezaras con USB en ves de con el paralelo. También lei tus manuales de vb.net vc ++ y vc# todos excelentes guias.
 
El USB lo dejaré para más adelante ya que estoy centrado en hacer otros manuales sobre el puerto serie, cosas como señales analógicas mediante una barra y en porcentaje, etc...

El manual lo hago con PowerPoint 2007, con eso mismo lo dejo así de chulo, después a PDF con el mismo programa.
 
Me gustaría verlo. La verdad, notarás que hay que tener mucha paciencia más que hacer un circuito electrónico y programarlo, aburre muchas veces y es un poco cansino. En los primeros manuales no, pero el que hice de 478 páginas tarde 3.5 meses por falta de tiempo, pero se puede hacer.

Cuando hagas esos manuales, recibirás e-mail de todo el mundo mostrando su agradecimiento como me hacen ami:

Ejemplo real, pero no digo su e-mail y su nombre, cuando presente el este manual VC++ y VB.
Me bajé el manual de comunicación 232 con pic16f84...y apenas estoy leyendo las primeras paginas... (PARÉ) para escrirte y darte las GRACIAS, que menos por dedicar tanto trabajo y hacerlo tan bien.
Seas quien seas y de donde seas, gracias por ayudar a tanta gente como yo que quiere hacer sus pinitos y lo logra gracias a personas como tú.


Saludos.
 
Es verdad meta lo que vos contas, así que ayer me quedé hasta tarde para ver bien como podía ir pasando mis ejemplos de CDC a Visual C# y VB.net. Por lo pronto solo voy a hacer un ejemplo a modo de prueba y luego voy a terminar con los 7 ejemplos faltantes.
Tambien tengo 7 ejemplos terminados sobre HID en Vb 6.0 que me parece que los voy a hacer en VC ++ o en Visual C# según cual me dé menos problemas.
 
Atrás
Arriba