Autor Tema: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)  (Leído 109523 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
« Respuesta #90 en: 09 de Diciembre de 2007, 16:13:47 »
Hola:

Claro que puedes trabajar con un cristal de 20Mhz, solo tienes que hacer la división respectiva de pll, en este caso si usas el de 20Mhz debes dividirlo para 5.

Desconectado Jorge Rendon

  • PIC10
  • *
  • Mensajes: 1
Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
« Respuesta #91 en: 01 de Febrero de 2008, 06:40:22 »

Muy buen tutorial, gracias a todos, en especial a Navaismo y LordLafebre que han sido los dos grandes guias.

Al leer todo esto, se me presentaron bastantes problemas, en un comienzo se me encendian unos led al detectar el dispositivo, que no pude descubrir por que pasaba, ya que de un momento a otro simplemente dejaron de prender y listo.

Por otro lado, en el mismo ejemplo de los 8 leds, yo trabajo con un 18f4455, hice el cambio que se suguirio en el codigo:

'gosub DoUSBOut  ‘borramos esta línea

Pero al hacer la programacion en VB con los archivos que me generaba el MCS, no me dejaba manejarlos, pero al trabajar con el proyecto en VB del Lafebre con el 2550, funcionaba correctamente.

No logro entender bien esto, a ver si con calma lo entiendo a la perfeccion. Pense que el codigo hecho en VB dependia del PIC que se estubiera trabajando, pero al parecer el codigo es el mismo para toda la familia de PIC con USB.

Saludos y gracias de nuevo.

(b)

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
« Respuesta #92 en: 01 de Febrero de 2008, 13:18:56 »
Hola:

Copia y pega aqui la declaración de las variables de visual basic para mirarlas, me parece que algunas versiones de EasyHID no generaban el tipo de variable que era, péga esa parte para verla.

Desconectado llalexll

  • PIC10
  • *
  • Mensajes: 1
Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
« Respuesta #93 en: 05 de Febrero de 2008, 20:21:01 »
Hola a todos, soy nuevo, en esto de las conexiones PIC a PC por USB, espero aprender mucho en este foro, siguiendo los ejemplos propuestos.
La primera traba que se puso en mi camino, tiene que ver con el EasyHID, de la pagina de mecanique, no me la puedo bajar, es problema de mi maquina o problema general?, en caso sea general, agradeceria mucho si alguien me lo puede pasar.

Gracias

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
« Respuesta #94 en: 05 de Febrero de 2008, 21:25:50 »
El MicroCode Studio Plus lo incluye, y sobre el link del EasyHID si ya no lo encuentro tampoco pero con el MCSP sirve bien.
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado Marioguillote

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 1926
    • Servisystem
Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
« Respuesta #95 en: 15 de Marzo de 2008, 09:14:43 »
Hola amigos !  :)

Me estoy embarcando en ésto de la conectividad USB y me está costando bastante más de lo que creía.
Mi deseo es trabajar con sistemas autónomos de instrumentación; (cómo ser un voltímetro ó un amperímetro) a los cuales cuando quisiera, pudiera conectar mediante USB al PC para poder graficar las mediciones realizadas.

Sin haber llegado aún a trabajar en el código de VB6, me estoy encontrando con muchas piedras en el camino que están siendo difíciles de resolver.

Lo que he hecho hasta aquí, es poder compilar el programa que vá dentro del PIC (EasyHID lo hace solo) y que el PC me reconozca el dispositivo conectado.
El circuito que he realizado sólo pretende encender un led (o activar un blinker) mientras esté desconectado de USB y que el mismo se apague y encienda otro al conectar USB.
El mejor de los casos sería armar un blinker en ambos estadíos a través de RB0 para "desconectado" y RB1 para "conectado"

Me suceden cosas al intentar hacerlo que no comprendo muy bien.
Estoy usando Protón para desarrollar la aplicación y no logro comprender bien "dónde" debo colocar mis fragmentos de programa para que el asunto funcione.
No alcanzo a darme cuenta dónde debo colocar, cómo había puesto de ejemplo, un blinker al no estar conectado y el otro al conectar a USB.
Porque quiero llegar a un equipo autónomo, que tenga conexión USB.
No busco un equipo que funcione al conectarse a USB solamente.

Al iniciar el programa, (utilizo la opción que hace que el mismo programa genere las interrupciones para controlar el estado del bus), una vez que se declararon las variables y constantes del inicio y el programa entra en la parte de ProgramStart lo primero que encuentra es la llamada a AttachToUSB; lo cual me lleva a un bucle infinito del cual no sale hasta que el hard no se conecte al bus USB.

Es lo que aparece al final del listado cómo
Código: [Seleccionar]
AttachToUSB:
   REPEAT
      USBPOLL
   UNTIL PP0 = ATTACHED_STATE
   RETURN
y queda allí indefinidamente hasta que conecto el hard al bus y pasa a la parte de programa ProgramLoop (Estoy usando los nombres que usa EasyHID para que sea más clara la explicación de mi duda)
Una vez en el ProgramLoop puedo armar un blinker para indicar que no hemos conectado a USB y el mismo funciona sin inconvenientes.
Pero dónde coloco el anterior ? , el de indicación de espera de conexión ? Dentro del  AttachToUSB:?
Ya hice el intento y no funciona.

Es decir.
Puedo lograr muchas cosas hasta ahora, pero aquí viene la catarata de dudas y pruebas frustradas y frustrantes que he realizado:

Una vez que el programa entró en el ProgramLoop, debido a haber conectado el hard a USB, y luego  intentar desconectar el hard del mismo, el programa no sale nunca de ése lazo.
Queda siempre allí cómo si estuviera "enganchado" a USB, cuando en realidad no lo está.
No es que se arma la rutina con un Timer para checkear el estado de la conexión en forma automática y permanente ? No debiera salirse del lazo al desconectar USB ?
Cómo debiera armar la rutina para que me controle el estado de conexión en el hard ?
He probado de colocar la instrucción GOSUB AttachToUSB dentro del mismo, pero el programa muere dentro del lazo ProgramLoop.
Digo muere porque yo armo un blinker que arranque al conectar USB y el mismo funciona correctamente siempre que no haya colocado la instrucción antes mencionada. Si la coloco el blinker no funciona.
Es cómo si se fuera el programa a controlar el Attach y quedara por allí dando vueltas quien sabe dónde ...  :(

Sintetizando un poco.

Quisiera hacer un blinker que funcione al energizar mi circuito (RB0), que pase a otro al conectar USB (RB1) y "que vuelva" al blinker inicial al desconectar USB (RB0) y que vuelva al otro al conectar ...... y así indefinidamente.
No tengo claro, dónde ni cómo, colocar mis líneas de código para ello, ó cómo reformar lo que Protón me entrga "pre-armado" para lograr mi objetivo.
O sea, al blinker al menos, lo sé armar, lo que no logro comprender de hacer es que el programa del PIC haga lo que deseo.

Ya vendrá luego el tiempo de solicitar datos al PIC y trabajar en Visual, pero en ésta primera etapa quiero trabajar con un PIC autónomo que sea capáz de conectarse al PC, luego desconectarse y seguir funcionando y no comprendo cómo lograrlo.

Ojalá se haya entendido mi inquietud y puedan ayudarme con la misma.

Saludos !
Mario

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
« Respuesta #96 en: 17 de Marzo de 2008, 14:15:26 »
Hola:

Bueno, aún no he probado algo como lo que quieres Mario, no se si lo que propongo funciona, pero puedes probarlo,

GoSub AttachToUSB

esa etiqueta hace que el pic espere respuesta del pc, podrías utilizar un pulsante o algo para indicarle al pic que se va a conectar al pc, esto la primera ves no creo que tenga problemas, luego le veo que va a dar problemas cuando se desconecte, no he probado eso la verdad, pero podrías incluir alguna opción desde VB antes de que se conecte el dispositivo, y repetir el proceso, es decir cuando conectes nuevamente, presionas el pulsante, no puedo asegurarte que funcione, y de hecho no se que pase con la conexión, no se si "muera", pero cuando presiones el pulsante puedes llamar nuevamente a:

GoSub AttachToUSB

Lastimosamente no puedo probarlo ahora, así que solo te puedo recomendar eso y la verdad tampoco estoy seguro de que funcione, pero puedes intentarlo y cualquier cosa nos la comentas.
« Última modificación: 17 de Marzo de 2008, 14:21:03 por LordLafebre »

Desconectado Marioguillote

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 1926
    • Servisystem
Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
« Respuesta #97 en: 17 de Marzo de 2008, 14:42:41 »
Hola Gio !

Estaba respondiendo también por el otro mensaje, sobre el mismo tema.

Sí lo he probado a éso que propones, pero el programa se muere en el bucle infinito .....

Código: [Seleccionar]
AttachToUSB:
   REPEAT
      USBPOLL
   UNTIL PP0 = ATTACHED_STATE
   RETURN

....porque queda repitiendo el USBPOLL hasta que PP0 sea igual a ATTACHED_STATE.
Hasta que esa condición no se dé; no saldrá de allí.
Y el programa se me muere allí, siendo que yo deseo que siga haciendo otras cosas.

Digamos que quiero conectar y desconectar "en caliente" el equipo esclavo que lleve el PIC.

Tiene que haber una Flag que aún no he encontrado en algún registro del PIC.

Seguiremos estudiando, pero si alguien lo sabe, sería muy agradable que nos lo explique por cierto.

Saludos !
Mario

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
« Respuesta #98 en: 17 de Marzo de 2008, 14:49:56 »
Hola:

Cuando sucede esto Mario?

Sí lo he probado a éso que propones, pero el programa se muere en el bucle infinito .....

Desconectado Marioguillote

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 1926
    • Servisystem
Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
« Respuesta #99 en: 17 de Marzo de 2008, 15:03:28 »
Hola Gio

Sucede al momento de enviar al programa a controlar el estado del bus mediante la instrucción 
GoSub AttachToUSB

Mientras está conectado al bus, sale del bucle que te mencioné, (que te puse en el código) y continúa con sus labores; pero al momento de desconectarlo del bus y si lo mandamos nuevamente allí , se quedará indefinidamente en ése lazo REPEAT ... >>> USBPOLL >>> UNTIL ... esperando que PP0 sea igual a ATTACHED_STATE

Si volvemos a conectar el diseño al PC, (para que salga de ése lazo) el mismo nos indica que hay un error en el dispositivo USB conectado y ya no lo reconoce más, hasta reiniciarlo (al proyecto, no al PC)

Espero se entienda, sino trato de explicarlo de otra forma.

Gracias por tu tiempo Gio !
Saludos
Mario

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
« Respuesta #100 en: 17 de Marzo de 2008, 17:22:42 »
Hola:

Mario, hoy en la noche voy a darle una mirada al tema, no te garantizo ni ofrezco soluciones, pero almenos lo intentaré.  8)

Desconectado Marioguillote

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 1926
    • Servisystem
Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
« Respuesta #101 en: 17 de Marzo de 2008, 17:37:34 »
OK amigo, Gracias por el interés  :wink:

Por mi parte también voy a seguir investigando.
Cualquier novedad nos la comunicamos por éste medio.

Voy a volver a rastrear entre las flags que cambian de estado dentro del 18F al momento de conectar el bus. Por ahí debiera venir la solución.

Seguiremos investigando ...  8)

Saludos !
Mario


Desconectado Marioguillote

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 1926
    • Servisystem
Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
« Respuesta #102 en: 18 de Marzo de 2008, 08:51:35 »
Pequeño avance.

Cómo imaginaba, la cosa viene por aprender a manejar el enjambre de Flags que posee el 2550, para que el PIC trabaje en función de estar conectado ó no a un puerto USB.
En primera instancia y por lo poco que pude observar, al iniciar el trabajo el PIC sus banderas de indicación se hallan en un posición predeterminada y al conectar a USB muchas cambian, pero lo lamentable es que las mismas; al desconectar el bus, no vuelven a su estado inicial.
Hay que hacerlo mediante el programa.

La primera y la más obvia es la siguiente :


Donde el bit señalado "USBEN" pasa de 0 a 1 al conectar el PIC al bus USB (Attached)
Luego al desconectar el bus, hay que bajar la bandera mediante interrogación de actividad y hay que "escribirlo" en el registro, mediante el mismo programa del PIC.

Trataré de buscar todas las posibles que permitan conectar y desconectar el bus "en caliente" sin necesidad de reiniciar al PIC.
No vá a ser sencillo pero lo vamos a intentar.
Seguiremos buceando en el Datasheet.

Si alguien conoce el set completo de flags a modificar y puede allanarnos el camino, será muy bienvenido !  :)
El resto sería programación pura del PIC

Saludos !
Mario

Desconectado electronando

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 427
Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
« Respuesta #103 en: 14 de Abril de 2008, 03:03:29 »
Como podria configurar el EasyHID con el proton , sigos los pasos del manual de giovani pero al final de esos pasos en el easyHID del proton no sale el compilador (osea proton) y al final me sale error , a q se debe esto es posible usar el proton ? :shock: :-/

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
« Respuesta #104 en: 14 de Abril de 2008, 11:09:26 »
Hola:

pues eso creo que depende de tu compilador, con todo puedes descargar el easyHID de este link:

http://www.4shared.com/file/40239912/5a14733c/EasyHID.html


 

anything