TODOPIC
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?
03 de Septiembre de 2010, 05:16:30

Ingresar con nombre de usuario, contraseña y duración de la sesión
Buscar:     Búsqueda Avanzada
257111 Mensajes en 28437 Temas por 27916 Usuarios
Último usuario: zororyuzaki
* Inicio Ayuda Buscar Calendario Ingresar Registrarse
Buscar en TodoPIC
+  TODOPIC
|-+  Microcontroladores PIC
| |-+  * PROYECTOS * (Moderadores: J1M, jfh900, MGLSOFT, Modulay, Sasián, LABmouse)
| | |-+  Proyecto PicUSB
0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ... 28 Marcar como favorito Imprimir
Autor Tema: Proyecto PicUSB  (Leído 91140 veces)
J1M
Moderador Local
PIC24H
*****
Conectado Conectado

Sexo: Masculino
España España

Mensajes: 1859



WWW
« : 26 de Agosto de 2005, 05:35:00 »

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: hobbypic@hotmail.com
 
Jaime Fernández-Caro Belmonte - J1M
..:: www.HobbyPIC.com ::..
« Última modificación: 11 de Octubre de 2007, 07:17:47 por J1M » En línea

lord_10
Colaborador
PIC24F
*****
Desconectado Desconectado

Sexo: Masculino
Mexico Mexico

Mensajes: 589


..:: 3D5F™ ::..


WWW
« Respuesta #1 : 26 de Agosto de 2005, 08:08:00 »

Orale muy buena aplicación para empezara usar el USB.....mis mas sinceras felicitaciones pana JIM  Giño Sonrisa GiganteRebotado  
En línea

..::  3D5F ™ ::..  ®HernándezG 

"Tan sólo hace falta una pequeña idea, para hacer un gran sueño realidad."

 YAER TKM Mamita
wqtrp
Colaborador
PIC16
*****
Desconectado Desconectado

Mensajes: 167


« Respuesta #2 : 26 de Agosto de 2005, 09:44:00 »

hola J1M, muy bueno esto y me intereso el tema y estoy empezando con USB, al ver el programa picUSB.c noto q no tengo los siguientes archivos

#include <pic18_usb.h>    
#include <PicUSB.h>       
#include <usb.c>      

estoy usando la version 3.218 y vos la 3.227, imagino q la diferencia viene por ese lado. por donde podria conseguir esa version como para poder utilizar tus programas?

Gracias.
En línea
Nocturno
Administrador
DsPIC33
*******
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 12825



WWW
« Respuesta #3 : 27 de Agosto de 2005, 12:22:00 »

Enhorabuena por conseguirlo y gracias por compartirlo, Jaime.
En línea

Un saludo desde Sevilla, España.
Visita MicroPIC                                                                                        ɔ!doɹɔ!ɯ ɐʇ!s!ʌ
RaDoN
Moderadores
PIC24H
*****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 1338



« Respuesta #4 : 27 de Agosto de 2005, 04:20:00 »

Estupendo J1M !!! Gracias por compartirlo, aver que desarmo para conseguir el conector usb AvergonzadoAvergonzadoAvergonzado
En línea

Si juegas contra el mejor, pierdes como los demás.
J1M
Moderador Local
PIC24H
*****
Conectado Conectado

Sexo: Masculino
España España

Mensajes: 1859



WWW
« Respuesta #5 : 27 de Agosto de 2005, 04:37:00 »

Los que no os descargueis esta version del Visual C#, necesitareis tener instalada la última version del .NET Framework, para poder ejecutar el PicUSB.exe, aquí lo podeis descargar:
http://www.microsoft.com/downloads/details.aspx?displaylang=es&FamilyID=7abd8c8f-287e-4c7e-9a4a-a4ecff40fc8e

gracias por el aviso dani Giño
En línea

wqtrp
Colaborador
PIC16
*****
Desconectado Desconectado

Mensajes: 167


« Respuesta #6 : 27 de Agosto de 2005, 06:58:00 »


Gracias J1m, la verdad q me asombra lo sencillo y util del programita
            y ademas ya consegui la version 3.227

dos preguntas para quien sepa algo mas de USB

1. si yo tengo mi propia placa ya alimentada con 5 volts, como deberia ser la conexion de los 5 volts del host?
  los dejo sin conectar y solo conecto las masas?
  es necesario consumirle algo de corriente a los 5v del host con una resistencia por algun motivo?

2. la conexion de las señales D+ y D- es directa pin a pin? es peligroso invertirlas?

Gracias a todos.
En línea
RaDoN
Moderadores
PIC24H
*****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 1338



« Respuesta #7 : 27 de Agosto de 2005, 07:11:00 »

Yo conectaria las masas, y los 5V del USB, a una resistencia de 1 ohm por ejemplo y luego a los 5V que ya tenia la placa. Así las pequeñas diferencias se las "come" la resistencia.
En línea

Si juegas contra el mejor, pierdes como los demás.
J1M
Moderador Local
PIC24H
*****
Conectado Conectado

Sexo: Masculino
España España

Mensajes: 1859



WWW
« Respuesta #8 : 27 de Agosto de 2005, 07:35:00 »

wqtrp te digo lo que hacen los de Microchip en la placa de desarrollo PICDEM, puedes ver aquí el datasheet:
http://ww1.microchip.com/downloads/en/DeviceDoc/51526a.pdf

Ellos unen las masas, tanto la de, en este caso, tu placa ya alimentada, con la del USB, y los 5v del usb (VUSB), lo ponen a masa con un condensador de 470nF.

Por invertirlo... no creo q pase nada... simplemente supongo q no funcionará, mejor no pruebes Avergonzado

Saludos!
En línea

wqtrp
Colaborador
PIC16
*****
Desconectado Desconectado

Mensajes: 167


« Respuesta #9 : 27 de Agosto de 2005, 07:37:00 »

lo q no se es si el host usb detecta la coneccion de un circuito  por sonsumo de corriente, con lo cual debo conectar los 5 volts del host en mi circuito a una resistencia para q consuma algo y asi detecte la conexion o si detecta la coneccin por transmision de datos, con lo cual no necesitaria coneccion de los 5 volts del host

Gracias
En línea
J1M
Moderador Local
PIC24H
*****
Conectado Conectado

Sexo: Masculino
España España

Mensajes: 1859



WWW
« Respuesta #10 : 27 de Agosto de 2005, 07:50:00 »

nop, el PC no lo detecta de esa forma, o al menos q yo sepa, sino los de Microchip no lo hubieran conectado así... quien sí detecta conexión al PC es el PIC, en el caso de que hagamos una rutina específica para cuando "lo enganchemos" al PC... puedes ver como hacerlo en el PicUSB.c

Codigo:

/////////////////////////////////////////////////////////////////////////////
//
// If you are using a USB connection sense pin, define it here.  If you are
// not using connection sense, comment out this line.  Without connection
// sense you will not know if the device gets disconnected.
//       (connection sense should look like this:
//                             100k
//            VBUS-----+----/////----- (I/O PIN ON PIC)
//                     |
//                     +----/////-----GND
//                             100k
//        (where VBUS is pin1 of the USB connector)
//
/////////////////////////////////////////////////////////////////////////////
//#define USB_CON_SENSE_PIN PIN_B2  //CCS 18F4550 development kit has optional conection sense pin

En línea

wqtrp
Colaborador
PIC16
*****
Desconectado Desconectado

Mensajes: 167


« Respuesta #11 : 27 de Agosto de 2005, 08:11:00 »

claro, pero cuando nosotros enchufamos un circuito usb al host, este comienza todo un proceso, el tema es como el host detecta esta conexion...

pero ya esta, el capacitor lo segun la especificacion de microchip debe ser de 100nF y en muchos lugares encntre q poneen un electrolitico asi q pondre un electroliticoo y listo,
ademas para la primer prueba no voy a conectar los 5v del hoost a nada y

que salga loo q deba salir....

Gracias y seguimos....
En línea
J1M
Moderador Local
PIC24H
*****
Conectado Conectado

Sexo: Masculino
España España

Mensajes: 1859



WWW
« Respuesta #12 : 16 de Septiembre de 2005, 02:46:00 »

he retocado el .inf para que en el administrador de dispositivos para q no aparezca dentro de "otros dispositivos" y utilize otro icono distinto al ? ese amarillo... a ver si averiguo como ponerle un icono propio (le he puesto un conector usb xD), y algun que otro retoke pq iba con algun fallito, esto q os pongo es el .inf que debereis modificar del driver.

Saludos!

Codigo:

[Version]
Signature=$CHICAGO$
Class=%ClassName%
ClassGuid={4D36E911-E325-11CE-BFC1-08002BE10318}
Provider=%MFGNAME%
DriverVer=08/26/2005,1.0.0.0

[Manufacturer]
%MFGNAME%=DeviceList

[DestinationDirs]
DefaultDestDir=10,System32Drivers

[SourceDisksFiles]
mchpusb.sys=1
wdmstub.sys=1

[SourceDisksNames]
1=%INSTDISK%,,,

[DeviceList]
%DESCRIPTION%=DriverInstall,USBVID_04D8&PID_0011

;------------------------------------------------------------------------------
;  Class section
;------------------------------------------------------------------------------

[ClassInstall32]
Addreg=PicUSBClassReg

[PicUSBClassReg]
HKR,,,0,%ClassDesc%
HKR,,Class,,%ClassName%
HKR,,Icon,,-21

;------------------------------------------------------------------------------
;  Windows 2000/XP Sections
;------------------------------------------------------------------------------

[DriverInstall.ntx86]
CopyFiles=DriverCopyFiles

[DriverCopyFiles]
mchpusb.sys,,,2

[DriverInstall.ntx86.Services]
AddService=PicUSB,2,DriverService

[DriverService]
ServiceType=1
StartType=3
ErrorControl=1
ServiceBinary=%10%system32driversmchpusb.sys

;------------------------------------------------------------------------------
;  Windows 98/Me Sections
;------------------------------------------------------------------------------

[DriverInstall]
AddReg=DriverAddReg
CopyFiles=DriverCopyFiles,StubCopyFiles
DriverVer=08/26/2005

[DriverAddReg]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,"wdmstub.sys,mchpusb.sys"

[StubCopyFiles]
wdmstub.sys,,,2

;------------------------------------------------------------------------------
;  String Definitions
;------------------------------------------------------------------------------

[Strings]
MFGNAME="J1M PicUSB"
INSTDISK="PicUSB Device Driver Disc"
DESCRIPTION="PicUSB"
ClassName="PicUSB Sample Device"
ClassDesc="PicUSB Device"

En línea

josemyzm
Colaborador
PIC18
*****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 279



« Respuesta #13 : 18 de Septiembre de 2005, 08:05:00 »

En Microsoft he encontrado un ejemplo de como incluir 2 iconos para mostrar el estado del dispositivo (permite tomar los iconos desde un fichero)

Espero que te sea de utilidad




He quitado el texto porque las líneas eran muy largas y se hacia dificil de leer.
En el mensaje siguiente está el enlace.





En línea

Saludos desde Logroño (España)
josemyzm
Colaborador
PIC18
*****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 279



« Respuesta #14 : 18 de Septiembre de 2005, 08:07:00 »

El enlace para poder leerlo mejor:
http://www.microsoft.com/whdc/driver/install/devicons.mspx#EBAA

En línea

Saludos desde Logroño (España)
J1M
Moderador Local
PIC24H
*****
Conectado Conectado

Sexo: Masculino
España España

Mensajes: 1859



WWW
« Respuesta #15 : 18 de Septiembre de 2005, 12:23:00 »

gracias por la info josemyzm, ya habia visto eso y así tal cual no se puede usar, estoy ahora con el windows_server_2003_sp1_ddk ... ya q todo pasa por crear una DLL y usarla desde el .inf, dentro del ddk hay un ejemplo de como crear la funcion ClassInstall necesaria para q se pueda acceder al instalador d la DLL para extraer los iconos... no se si me explicado del todo pero vamos... q espero en un par de dias poneos x aki el código en VC++ para la DLL y el nuevo .inf

saludos Giño


pd: podrias editar el primer post xa q no deforme el tema??? esq es un tanto putada leerlo así xDDD

graciasRebotadoSonrisa Gigante
En línea

josemyzm
Colaborador
PIC18
*****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 279



« Respuesta #16 : 18 de Septiembre de 2005, 02:26:00 »

Por cierto J1M, has puesto un ejemplo para que el PIC detecte la conexión al PC, mediante la detección de los 5V que suministra el USB, correcto.  Pero es necesario colocar la otra resistencia de 100K entre VBus y GND??

Un saludo

En línea

Saludos desde Logroño (España)
J1M
Moderador Local
PIC24H
*****
Conectado Conectado

Sexo: Masculino
España España

Mensajes: 1859



WWW
« Respuesta #17 : 18 de Septiembre de 2005, 02:32:00 »

Gracias por editar el post Giño

Si, las dos resistencias son necesarias, yo aún no he probado la detección de conexion del cable, asiq no te lo puedo decir por experiencia, pero sí por el gráfico q muestran los de CCS (está un pokito deformado, se puede ver bien en el .C)

Saludos!
En línea

pendexgabo
PIC16
***
Desconectado Desconectado

Sexo: Masculino
Mensajes: 222


WWW
« Respuesta #18 : 29 de Septiembre de 2005, 08:05:00 »

Buenas..
basandome en el proyecto de J1M (que particularmente me ayudo mucho.. muchas gracias) y en los ejemplos de microchip, empecé a ver si se podia hacer algo. mi idea es conectar un LCD a un 18f2550 y a travez de la PC enviarle los datos que quiero que se muestren en el LCD. en principio estoy realizando la aplicación para el host en C++ (utilice este lenguaje porque la pude encontrar varios ejemplos ).

ahora me surgen ciertas dudas que no interfieren con el proyecto pero que me gustaria resolver: en el caso de que tuviera mas de un dispositivo del mismo tipo, como hago para enviarle información al que yo deseo (por lo que estuve leyendo, uno puede saber la cantidad de dispositpvos conectados tenidendo el vID (vendor ID) y el pID (product ID) que le defini en el pic, pero esto no me distingue entre dos dispositivos iguales.

otra cosa: como debería hacer para que al pulsar un switch en el pic el host lo detecte? debe haber algun método por interrupciones, ya que si lo hago por polling tendría al host moy ocupado de gusto..

bueno, en cuanto tenga algo listo se los envio

estoy utlizando

C++ 6 Builder
CCS 2.227
y la famosa mcpusbapi.dll con los ejemplos de la misma

saludos
En línea
J1M
Moderador Local
PIC24H
*****
Conectado Conectado

Sexo: Masculino
España España

Mensajes: 1859



WWW
« Respuesta #19 : 30 de Septiembre de 2005, 04:06:00 »

hola pendexgabo,

Respecto a como hacer diferencia entre dispositivos con el mismo vid y pid, en el funciones_dll.txt tienes la respuesta, te pego aquí la parte que te interesa:

///////////////////////////////////////////////////////////////////////////////
//   MPUSBGetDeviceCount : Returns the number of devices with matching VID & PID
//
//   Note that "input" and "output" refer to the parameter designations in calls
//   to this function, which are the opposite of common sense from the
//   perspective of an application making the calls.
//
DWORD _MPUSBGetDeviceCount(string pVID_PID);

///////////////////////////////////////////////////////////////////////////////
//   MPUSBOpen : Returns the handle to the endpoint pipe with matching VID & PID
//
//  All pipes are opened with the FILE_FLAG_OVERLAPPED attribute.
//  This allows MPUSBRead,MPUSBWrite, and MPUSBReadInt to have a time-out value.
//
//  Note: Time-out value has no meaning for Isochronous pipes.
//
//  instance - An instance number of the device to open.
//             Typical usage is to call MPUSBGetDeviceCount first to find out
//             how many instances there are.
//             It is important to understand that the driver is shared among
//             different devices. The number of devices returned by
//             MPUSBGetDeviceCount could be equal to or less than the number
//             of all the devices that are currently connected & using the
//             generic driver.
//
//             Example:
//             if there are 3 device with the following PID&VID connected:
//             Device Instance 0, VID 0x04d8, PID 0x0001
//             Device Instance 1, VID 0x04d8, PID 0x0002
//             Device Instance 2, VID 0x04d8, PID 0x0001
//
//             If the device of interest has VID = 0x04d8 and PID = 0x0002
//             Then MPUSBGetDeviceCount will only return "1".
//             The calling function should have a mechanism that attempts
//             to call MPUSBOpen up to the absolute maximum of MAX_NUM_MPUSB_DEV
//             (MAX_NUM_MPUSB_DEV is defined in _mpusbapi.h).
//             It should also keep track of the number of successful calls
//             to MPUSBOpen(). Once the number of successes equals the
//             number returned by MPUSBGetDeviceCount, the attempts should
//             be aborted because there will no more devices with
//             a matching vid&pid left.



Bien te explico un poco, para empezar tienes que llamar a esta funcion:

_MPUSBGetDeviceCount(string pVID_PID)

donde pVID_PID = vid_04d8&pid_0011;

esa función te devolverá un valor entero (DWORD) dependiendo del número de dispositivos encontrados con el mismo vid y pid; Si como preguntas tienes dos dispositivos conectados, el valor deberá ser 2. Si es así entonces (y aquí es donde tengo una pequeña duda de como enumerarlos) a la hora de llamar a la funcion:

_MPUSBOpen (DWORD instance, string pVID_PID, string pEP, DWORD dwDir, DWORD dwReserved)Wink

deberás elegir el dispositivo que quieres "controlar" seleccionandolo con "instance" el cual tomará un valor entero dependiendo de la numeración que tenga el dispositivo y ahora viene el problema, como saber como los ha enumerado el sistema operativo?? imagina que en vez de dos dispositivos (este caso quizá sea facil...) tenemos tres (dos iguales y uno diferente a ellos), pudiendo haber sido enumerados así:

Device Instance 0, VID 0x04d8, PID 0x0001
Device Instance 1, VID 0x04d8, PID 0x0002
Device Instance 2, VID 0x04d8, PID 0x0001

Como ves, tenemos los device 0 y 2 iguales, y el 1 distinto a estos. Esto es debido a que los 3 usan el mismo driver...

Para hacer distincion entre los dispositivos iguales simplemente tendriamos que llamar a la funcion open de la siguiente forma:

- Para el dispositivo 0
_MPUSBOpen (0, string pVID_PID, string pEP, DWORD dwDir, DWORD dwReserved)Wink (esto es lo q yo tengo hecho en el ejemplo, ya que doy por supuesto de q solo va a haber un PicUSB conectado al PC)
- Para el dispositivo 2
_MPUSBOpen (2, string pVID_PID, string pEP, DWORD dwDir, DWORD dwReserved)Wink

Pero claro, aquí está el problema... como he dicho antes... como saber como los ha enumerado el sistema operativo???

Si solo tenemos dos dispositivos y ademas son iguales, usando el mismo driver tendríamos esto:

Device Instance 0, VID 0x04d8, PID 0x0001
Device Instance 1, VID 0x04d8, PID 0x0001

Aquí no habría ningun problema (que es lo q tu preguntabas realmente Wink)

- Para el dispositivo 0
_MPUSBOpen (0, string pVID_PID, string pEP, DWORD dwDir, DWORD dwReserved)Wink
- Para el dispositivo 1
_MPUSBOpen (1, string pVID_PID, string pEP, DWORD dwDir, DWORD dwReserved)Wink

De todas formas esto no lo he probado, asiq no te puedo garantizar 100% q funcione... cuestion de hacer pruebas Wink


Respecto a tu segunda pregunta:

Pon ese switch en una pata con interrupción externa, como puede ser RB0... cuando entres en la rutina de interrupción de esa pata, haz lo q tengas que hacer con el USB. Así el PIC en su estado "normal" no estará pendiente de ese Switch ni el HOST de la información por USB, ya q no estará activo.

Saludos Wink
En línea

TODOPIC
   

 En línea
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ... 28 Imprimir 
« anterior próximo »
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.11 | SMF © 2006-2008, Simple Machines LLC XHTML 1.0 válido! CSS válido!
Página creada en 0.124 segundos con 23 consultas.