jueves, 29 de septiembre de 2011

PIC y USB

En este post colgaré algunos programas para comunicar un PIC con el PC. Han sido creados a partir de algunos que ya existen en internet a los cuales les he hecho algunas modificaciones para ampliarlos un poco.

Los creadores originales de estas aplicaciones son:
- J1M para el ejemplo de Visual C# utilizando la librería WinUSB.dll y creo que el de LabVIEW también. >>Acceder a Info
- Geronimox para el ejemplo de JAVA en XP utilizando la librería de Microchip. >>Acceder a Info
- Waldillo para el superproyecto en Visual Basic >>Acceder a Info




Mi version en C#
El siguiente enlace contiene  los archivos necesarios para empezar a jugar un poco con un PIC y el USB con la version en C#. El contenido consiste; en un pequeño manual de instalación para utilizar el archivo instalable, el cual proporciona  los archivos fuente tanto para el firmware y el software, el esquemático y el ejecutable del programa funcional. Además contiene las librerías .dll necesarias (carpeta: PicWinUSB_Driver) para instalar el PIC una vez sea reconocido por el PC.

Ahora a jugar  un poco ^_^ :


Mi versión en LabVIEW
A continuación dejo un archivo de descarga que contiene los documentos del proyecto de J1M alguna otra documentacion de ayuda y todos los archivos fuente para que podais trabajar con ellos. En este caso se trabaja con la libreria de Microchip, por lo que tendreis que descargarla de la pagina oficial.


Proximamente:
- Version JAVA  (eclipse) para XP 
- Version JAVA (eclipse) para Vista x64 

7 comentarios:

  1. :O!... Muchas gracias por compartir esta información, me será muy útil para realizar un proyecto en el cual estoy trabajando...

    Bueno, me preguntaba... si pudieran resubir algunos archivos? ya que... al estar en megaupload, me es un poco difícil (imposible xD!) acceder a ellos... xD!

    Los felicito por su sitio, y por su iniciativa a compartir sus conocimientos en áreas tecnológicas, como la electrónica, informática, etc...

    Saludos =)!

    ResponderEliminar
  2. :O! Muchas gracias... los estoy revisando y tratando de entender algunas cosas xD! jajaja... en cualquier caso, creo que estaré molestando un poco por aquí xD!...

    Saludos!

    ResponderEliminar
  3. Saludos

    Acabo de revisar los archivos de labview,en el momento estoy trabajando con un microcontrolador freescale (jm128) y estoy tratando de adaptar este para que funcione con la libreria dll que propone microchip, en el momento ya logre saber si el dispositivo esta conectado o no; pero el resto de funciones no las he logrado hacer funcionar.

    En la pagina de freescale hay una dll con la cual ellos ofrecen soporte (FslWinusb_v2.dll) pero la configuracion es diferente en labview ya que utilizan funciones .net; tu has trabajado algo similar o alguna ayuda que me puedas brindar; pues lo unico que he logrado hacer es comunicarme con dicha libreria pero desde visual studio, desde ahi si logro leer datos al microcontrolador.

    ResponderEliminar
  4. Hola WAVC.

    Me temo que no te voy a poder ayudar, porque no tengo conocimiento de la libreria dinámica de la que me hablas. Lo siento :-/.De todas formas, si tienes alguna duda sobre los códigos que se prensentan en la web, podemos intentar resolvertela.

    Saludos!!

    ResponderEliminar
  5. Gracias Guillermo por tu colaboración.

    Revisando la libreria dinamica mpusbapi.dll he encontrado algunas dudas, espero y puedas ayudarme a entender mejor el funcionamiento de las mismas.




    Cuando utilizo la funcion "MPUSBOpen" en el argumento "instance" que valor debo colocar?
    Segun entiendo debo colocar el valor que sale de la funcion "MPUSBGetDeviceCount" o cual
    es el valor que debo colocar; en mi caso al conectar el microcontrolador al computador y
    correr la aplicacion de labview, la funcion "MPUSBGetDeviceCount" reconoce el dispositivo
    y devuelve como valor de salida el numero 1, segun esto ese es el valor que debo colocar
    en "instance" para la funcion "MPUSBOpen".

    otra pregunta el argumento "dwDir" es el que me permite elegir entre leer o escribir cierto?
    con el valor de 1 indicamos que es para leer y con 0 si es para escribir. Por favor corrigeme
    si estoy mal.

    Si no quiero enviarle datos al microcontrolador si no que solo deseo recibir datos para visualizar en labview no es necesario abrir la pipe para escribir datos cierto?. es decir solo utilizaria la funcion "MPUSBOpen" 1 vez y como parametro para "dwDir" pondria 1 porque quiero leer datos que vienen del microcontrolador. Corrigeme si me equivoco. Gracias de antemano.

    Una ultima pregunta si lo que quiero es recibir datos del ADC del microcontrolador, como hago para que
    se esten leyendo constantemente, es decir que no se abandone ese ciclo de lectura si no hasta que se de la orden ya sea por un boton en labview o un interruptor en la tarjeta del microcontrolador.

    Agradezco la ayuda que me puedas prestar.

    ResponderEliminar