• Viernes 29 de Marzo de 2024, 14:32

Autor Tema:  Proyecto Picusb  (Leído 10256 veces)

J1M

  • Miembro activo
  • **
  • Mensajes: 58
    • Ver Perfil
    • http://www.hobbypic.com
Proyecto Picusb
« en: Sábado 27 de Agosto de 2005, 00:37 »
0
Antes de comenzar querría agradecer a Mat Clayton el valiosísimo aporte de su API para C#, sin la cual estaría aún dándome cabezazos intentando entender porqué no me leía la DLL!! Gracias Mat! Dedico este proyectillo a todos los usuarios del foro TodoPIC, ese pedazo punto de encuentro para todos los PicManíacos!

PicUSB se ha realizado con la intención de proporcionar un primer empujón para todos aquellos que quieren arrancar con los diseños por USB y que como supongo que a muchos nos ha pasado, no saben por donde engancharlo!

El proyecto en sí es bastante sencillito, pretende mostrar como enviar/recibir datos por USB desde el PIC al PC, se ha intentado que el programa fuera entendible, por lo que realmente no tiene ninguna utilidad mas que como digo, servir de introducción al mundo del USB.

Se ha utilizado el grabador GTP USB Lite como ‘placa base’ para este proyectillo, ya que el funcionamiento del PicUSB se limita a encender/apagar cada uno de los colores del led bicolor y a realizar una suma de dos operandos.

El esquema de conexión del PicUSB es el mostrado en la siguiente imagen:


El proyecto consta de tres partes:

    * Programación de la aplicación para el PIC
    * Programación de la aplicación para el PC
    * Edición del driver suministrado por Microchip

Para la programación de la aplicación para el PIC se ha optado por usar el extendido compilador CCS, en concreto la versión 3.227, la primera versión que incorpora las bibliotecas para el uso del USB 2.0. El código de la aplicación se encuentra en el PicUSB_CCS.zip, así como el .hex para ser grabado en el PIC. Tanto el PicUSB.c, como el PicUSB.h están más o menos documentados en un perfecto Spanglish. El proyecto está basado en el ex_usb_scope.c suministrado por CCS como ejemplo para el compilador. Se ha decidido usar el 18F2550 pero puede usarse cualquiera de la serie 18Fxx5x que incorporan el USB 2.0.

Para la programación de la aplicación para PC se ha optado por usar el Visual C# Express 2005 y puede ser descargado gratuitamente de la página de Microsoft.

En el caso de no instarse el Visual C#, para poder ejecutar el PicUSB.exe será necesario al menos, tener instalada la última versión del .NET Framework.

El código fuente se encuentra en PicUSB_VisualC#.zip, donde también se incluye funciones_dll.txt, en este se detalla el uso de las funciones contenidas en la mpusbapi.dll proporcionada por Microchip.

El último paso ha sido la edición del Driver suministrado por Microchip de tal forma que apareciera en el Administrador de Dispositivos una nueva clase con un icono personalizado. Para esto ha sido necesario crear una DLL que exporte ese icono. Se adjunta el código fuente de la DLL, PicUSB_Classinstaller.zip por si se desea recompilar para poner otro icono. Se necesita para ello la DDK (Development Driver Kit) de Microsoft, para este ejemplo se ha usado la windows_server_2003_sp1_ddk. Y el ejemplo llamado Toaster.

El Driver en sí se encuentra en PicUSB_Driver.zip, donde pueden ser modificados varios apartados, aunque quizá los mas útiles son los Strings y PID&VID.

Al conectar el PicUSB por primera vez, aparecerá el asistente para la instalación de nuevo hardware, se marca la opción de "instalar desde una lista o ubicación específica", se pincha sobre siguiente y en la siguiente pantalla se marca la opción de "Buscar el controlador más adecuado en estas ubicaciones", se pincha sobre "Incluir esta ubicación en la búsqueda" y a continuación sobre Examinar, entonces se selecciona la carpeta PicUSB_Driver, y se le da a Aceptar, y a Siguiente, aparecerá entonces una pantalla de advertencia, se hace clic sobre aceptar, y la instalación del Driver estará terminada, el led del PicUSB habrá pasado de estar rojo a verde y estará listo para ser usado.

Si todo ha ido bien, en el Administrador de Dispositivos debe aparecer algo así:


Dentro del PicUSB_APP.zip se puede encontrar la aplicación PicUSB.exe así como la dll necesaria, suministrada por Microchip. El funcionamiento es sencillo:


En la parte superior se encuentra el sumador, si se introduce un número del 00 hasta el 99 en cada uno de los sumandos y se pincha sobre PIC Suma!, estos dos operandos serán enviados al PIC, donde se procesará la suma, devolviendo entonces el resultado que se mostrará en la tercera casilla. Por otro lado los botones, Leds Off, Led Verde On y Led Rojo On, envían el código correspondiente al PIC para cada uno de los casos y actúa en consecuencia. Al hacer clic sobre la imagen se abrirá vuestro explorador web por defecto para llevaos a mi página HobbyPIC

Para programar el PIC se recomienda usar el WinPIC800 creado por Sisco.

DOWNLOAD

LINK AL ARTICULO

ACTUALIZACIÓN:
El proyecto se ha actualizado para dar soporte a Windows Vista x32/x64, además de mantener la 'retrocompatibilidad' con Windows XP, visita el nuevo artículo llamado PicWinUSB pinchando sobre la siguiente imagen:


Para cualquier duda o pregunta: [email:ykow1k46]hobbypic@hotmail.com[/email:ykow1k46]
 
Jaime Fernández-Caro Belmonte - J1M
..:: www.HobbyPIC.com ::..
..]Hobby[/color]PIC ]
Si puede pensarse, puede hacerse...

© Jonathan ©

  • Moderador
  • ******
  • Mensajes: 1671
  • Nacionalidad: ar
    • Ver Perfil
    • http://www.einstec.com.ar
Re: Proyecto Picusb
« Respuesta #1 en: Lunes 29 de Agosto de 2005, 12:36 »
0
Exelente Jaime!!  :lol:  :bravo:  :jumpie: es increible como avanzas en tus proyectos.. me gusto tu sitio web :good: ... Quiero agradecer que compartas tu trabajo y felicitarte porque es realmente util. Gracias y Felicitaciones!  :beer:
EINSTEC Tecnología «La única fuente del conocimiento es la experiencia.»

«Lo importante es no dejar de hacerse preguntas.»

J1M

  • Miembro activo
  • **
  • Mensajes: 58
    • Ver Perfil
    • http://www.hobbypic.com
Re: Proyecto Picusb
« Respuesta #2 en: Lunes 29 de Agosto de 2005, 13:11 »
0
Gracias por el comentario Jonathan!! :D jajaja así da gusto seguir pa´lante! ;)

y gracias por el post it! :lol:

Saludos! :hola:  :comp:
..]Hobby[/color]PIC ]
Si puede pensarse, puede hacerse...

softjad

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: Proyecto Picusb
« Respuesta #3 en: Miércoles 19 de Abril de 2006, 17:11 »
0
Olá.

Ja estudei o projecto e gostava de saber como altero o programa em c# de modo a enviar uma palavra ou uma fraze para uma variavel no pic pic18F4550.

salu2

J1M

  • Miembro activo
  • **
  • Mensajes: 58
    • Ver Perfil
    • http://www.hobbypic.com
Re: Proyecto Picusb
« Respuesta #4 en: Miércoles 3 de Octubre de 2007, 10:11 »
0
He 'actualizado' el proyecto para añadir compatibilidad con Vista, ahora se llama PicWinUSB. Digo actualizado, aunque en realidad he creado una nueva API en Visual C# basándome en el Driver WinUSB de Microsoft, ya que el de Microchip no es compatible con Vista. En mi página podéis encontrar más info:



http://www.hobbypic.com/index.php?option=c...id=31&Itemid=41

Saludos!
..]Hobby[/color]PIC ]
Si puede pensarse, puede hacerse...

controlpic

  • Nuevo Miembro
  • *
  • Mensajes: 9
  • Nacionalidad: es
    • Ver Perfil
    • http://www.microcontroladorespic.com
Re: Proyecto Picusb
« Respuesta #5 en: Sábado 19 de Diciembre de 2009, 23:15 »
0
Hola
 Estoy ahora iniciandome en el manejo del puerto USB, pero los link puestos ya no estan en uso.
Podria alguien guiarme para descargar este proyecto.

un saludo