Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

19/06/2010 #1081

Avatar de elmor8

Respuesta: Control de dispositivos a través del módulo USB del PIC18F2550
Aqui dejo el ejemplo con la librería...
No lo hice yo, lo hizo el prof que me pasó la librería... Creo que una vez lo probé y me salió un error cuando trataba de enviar pero por lo menos tiene cuales son los eventos del USB y cómo manejarlos...
Espero te sirva...
P.D. Creo que el archivo solo se puede abrir con VisualStudio 2008 o posterior...
22/06/2010 #1082


Respuesta: Control de dispositivos a través del módulo USB del PIC18F2550
Gracias Alder, me ha servido de mucho. Voy a continuar haciendo un dattaloger con SD y USB.
Saludos y muchas gracias
22/06/2010 #1083


Respuesta: Control de dispositivos a través del módulo USB del PIC18F2550
Estoy intentando hacer una aplicación simple que reciba y envíe datos mediante HID, leí todo el thread, baje todos los ejemplos probe todas las librerías del thread y no puedo hacer que funcione en vb.net 2008 y en Windows 7 x64, si alguien tiene algún ejemplo que sepa que funcione le agradecería que lo suba, voy a ver si sigo investigando. Gracias!.
23/06/2010 #1084

Avatar de Moyano Jonathan

Respuesta: Control de dispositivos a través del módulo USB del PIC18F2550
como puse post atras todos los ejemplos son para win de 32 bits---- el funcionamiento en 64 no esta siquiera probado.
25/06/2010 #1085


Respuesta: Control de dispositivos a través del módulo USB del PIC18F2550
Lo hice funcionar con el ejemplo de http://www.lvr.com/files/generic_hid_vb_46.zip, en Windows 7 x64, el único problema que ahora tengo es que al parecer usando HID me toma algunos timers, el único que tengo libre es el TMR0, en el datasheet de microchip no dice nada acerca de que ocupe los timers voy a seguir investigando, gracias por la respuesta!.


Siguiente post ---------------------------

Lo solucione, lo que hice es poner esto en el código:

(Solo por que esta interrupción no es critica)

Código:
disable_interrupts(INT_TIMER1); 
usb_task(); // Configuramos el puerto USB.
    if (usb_enumerated()) // Si el puerto es enumerado y configurado por el host..
    {

    sentencias...
        
       
    }
enable_interrupts(INT_TIMER1);
26/06/2010 #1086

Avatar de albermillan69

Respuesta: Control de dispositivos a través del módulo USB del PIC18F2550
He estado probando el USB CDC pero no me convense para mi proyecto! la comunicacion se cae o se cuelga casi q a cada rato (estoy usando un 18f4550)

Alguno de ustedes sabe como usar el USB HID??

Hasta los momentos sigo confiando en el puerto serial! es demasiado estable! y no da problemas!!!
30/06/2010 #1087


Respuesta: Control de dispositivos a través del módulo USB del PIC18F2550
Hola, muy buenos aportes en el post, y felicidades a Moyano por su excelente trabajo!!!

Yo estoy tratando de hacer la comunicacion utilizando la mpusbapi.dll en visual basic .net y tengo un inconveniente con las llamadas. Pues veras, yo lo tengo funcionando con vb 6 y todo perfecto, al intentar realizar las funciones en vb .net tengo un inconveniente con los punteros.

Esta es la declaracion muy parecida a como se hace en vb 6:

Código:
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
Al realizar la llamada a la funcion queda de esta forma:

Código:
If (MPUSBWrite(myOutPipe, VarPtr(SendData(0)), SendLength, SentDataLength, SendDelay) = MPUSB_SUCCESS) Then
El programa no ejecuta el If, es decir no realiza la escritura en el usb.

Este dato VarPtr es utilizada en vb 6 sin problemas, para el vb.net he realizado la siguiente declaracion:

Código:
Public Function VarPtr(ByVal dato As Byte) As Long
        Dim GCH As GCHandle = GCHandle.Alloc(dato, GCHandleType.Pinned)
        Dim GCH2 As Integer = GCH.AddrOfPinnedObject.ToInt32
        GCH.Free()
        Return GCH2
    End Function
Pero aun no se si esta bien declarado.


Muchas gracias por lo que puedan aportar.
02/07/2010 #1088

Avatar de foso

Respuesta: Control de dispositivos a través del módulo USB del PIC18F2550
Hola. Una pregunta Moyano: el programa que hiciste que genera un COM virtual ( ese que está en la primer página) cuando conectas el cable USB al PC no te salta un cartel que dice que el controlador está deshabilitado y que hay que instalarlo ????, porque a mi me hace eso. Me fijo en el administrador de dispositivos y el puerto me aparece, pero con un signo de pregunta amarillo ( como que no está instalado el controlador ).
Bueno espero me den una manito con eso. Gracias.
02/07/2010 #1089

Avatar de Moyano Jonathan

Respuesta: Control de dispositivos a través del módulo USB del PIC18F2550
Bueno lo que tenés que hacer es lo siguiente...
Ir a panel de control ....sistema....administrador de dispositivos.
Ahi te va a aparecer un icono de signo de pregunta amarillo en la parte de USB....entonces le hacer doble click y pones reistalar controlador ...buscas el driver correspondiente y le das click en siguiente...entonces te va a aparecer un cartel diciendo que estos controladores no son firmados por windows entonces le das click en siguiente para proseguir.
Luego de esto te tiene que instalar los controladores correspondientes...

Un saludo y espero que lo puedas hacer funcionar.
02/07/2010 #1090

Avatar de foso

Respuesta: Control de dispositivos a través del módulo USB del PIC18F2550
Hola, gracias por contestar. Hice lo que me dijiste pero no se porque no encuentra el controlador. No se de donde sacarlo. La puse a buscar en internet y no encuenta nada.
Voy a seguir incistiendo a ver si puedo.
Saludos.
02/07/2010 #1091

Avatar de Moyano Jonathan

Respuesta: Control de dispositivos a través del módulo USB del PIC18F2550
Si trabajas con el compilador CCS y USB entonces en la carpeta DRIVER'S del compilador se encuentra el driver para emulación CDC...en caso de que estés trabajando con el stack de MICROCHIP buscalo en la carpeta driver's del Microchips Solutions....fijate que sea el más actualizado con soporte para 32 y 6 bits.
02/07/2010 #1092

Avatar de foso

Respuesta: Control de dispositivos a través del módulo USB del PIC18F2550
Bueno avance un poco mas. Encontró el driver en la carpeta Drivers de CCS pero cuando iba por la mitad de la instalación me dice que falta el archivo ccport.sys. Y no lo puedo localizar. No está ni en la carpeta de microchip ni en la de CCS. Pensé que era mas simple la cuestión. Igual gracias.
Saludos
02/07/2010 #1093

Avatar de Moyano Jonathan

Respuesta: Control de dispositivos a través del módulo USB del PIC18F2550
che que raro eso que me marcas ..la verdad nunca me marco ese error :(
03/07/2010 #1094


Respuesta: Control de dispositivos a través del módulo USB del PIC18F2550
jonathan podrías pasarme un programita que sea un bullk para chechar mi pic18f4550, lo quize conectar por medio de la usb pero dice mi pc que es un dispositivo desconocido, me gustaría saber como hago un driver para instalarlo y me reconosza mi pic.
03/07/2010 #1095

Avatar de albermillan69

Respuesta: Control de dispositivos a través del módulo USB del PIC18F2550
benelviajero dijo: Ver Mensaje
jonathan podrías pasarme un programita que sea un bullk para chechar mi pic18f4550, lo quize conectar por medio de la usb pero dice mi pc que es un dispositivo desconocido, me gustaría saber como hago un driver para instalarlo y me reconosza mi pic.

Aqui lo tienes!! y funciona perfectamente bien!!!

http://picmania.garcia-cuervo.net/us...ctransfers.php
03/07/2010 #1096


Respuesta: Control de dispositivos a través del módulo USB del PIC18F2550
muchas gracias lo estoy checando, mas tarde comento como me fué...
03/07/2010 #1097

Avatar de foso

Respuesta: Control de dispositivos a través del módulo USB del PIC18F2550
Ya solucioné el problema del controlador. Le estaba errando de driver. Parecía ser el RS232 pero era el UART COM el que tenia que instalar. Ahora está andando bien. Muchas gracias Moyano.

ese ultimo post que pusieron esta bueno. albermillan69

Saludos.
04/07/2010 #1098

Avatar de foso

Respuesta: Control de dispositivos a través del módulo USB del PIC18F2550
Ya que pude resolver el problema estuve haciendo algunas pruebas de transmitir datos del PIC a la PC y mostrar en pantalla con un programita en visualC#. Anda bastante bien. Pero la ambición quiere mas, ja.
La cosa es que con este puerto COM virtual y usando la funcion printf( usb_cdc_putc, ....... ) me transforma los datos con el codigo ASCII. Claro ! , porque esta función es especial para mandar carácteres.

Si yo por ejemplo quiero mandar una tabla datos del pic a la PC y que esta los reciba sin tener que decodificarlos ¿ cómo hago ?. Alguien lo ha hecho ???

El software en C# lo hice de modo que se reciban los datos del puerto en un vector de tipo BYTE que luego transformo a string para mostrarlo en la caja de texto con la función Convert.ToString().

bueno mando un saludo y contento por haber echo me primer transferencia por usb .
05/07/2010 #1099

Avatar de albermillan69

Respuesta: Control de dispositivos a través del módulo USB del PIC18F2550
foso dijo: Ver Mensaje
Si yo por ejemplo quiero mandar una tabla datos del pic a la PC y que esta los reciba sin tener que decodificarlos ¿ cómo hago ?. Alguien lo ha hecho ???

bueno mando un saludo y contento por haber echo me primer transferencia por usb .
Estas usando el USB CDC?

No se si en tu programa haciendo algo como valor=int(recibido) te de el entero q mandaste desde el pic! Prueba a ver q tal!!!

Saludos!!!
05/07/2010 #1100

Avatar de foso

Respuesta: Control de dispositivos a través del módulo USB del PIC18F2550
en C# lo que hago es lo siguiente:

//esto va cuando se produce el evento de llegada de mensaje
byte[] mensaje = new byte[1];
SerialPort1.Read(mensaje, 0, 1);

Desde el pic lo que hago es lo siguiente:

int valor = 32;
printf( usb_cdc_putc, "%u" , valor); // para mandar por ejemplo el numero 32

y con esto me está llegando cualquier cosa menos el numero 32.
Tambien probé mandar numeros entre comillas pero me los manda codificados en ASCII.
Alguna sugerencia ??
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.