TODOPIC

Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: navaismo en 11 de Agosto de 2006, 22:37:29

Título: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: navaismo en 11 de Agosto de 2006, 22:37:29
 :-)
Bueno la idea de este post es que entre todos podamos crear una especie de tutorial de como usar el USB de nuestra PC y conectarlo a los pics que soportan USB (18F2455,18F2550,18F4455 y 18F4550) obviamente para hacer esto necesitaremos herramientas cuales?


Bueno una vez teniendo eso empecemos. Aqui en el foro tenemos varios ejemplos de conectar un pic al usb sobre todo con el 18F2550; sus medios de interfaz son normalmente la placa GTP USB LITE o tambien en conexiones como nos pone de ejemplo el mismo easyHID.

Un ejemplo excelente para no variar, es del amigo LordLafebre en la seccion de robotica con su bot Eleazar y tambien el de J1M que es un ejemplo de sumar pero ese en  CCS.


Algo importante en este pseudoTUTO es saber que es lo que nos entrega el USB osea preguntemos ¿podemos mandar datos? ¿de que tipo? ¿su funcionamiento es similar al puerto serie (en este podemos enviar numeros, letras, cadenas etc)?


Bueno por lo pronto tratare de encontrar mas informacion para ampliar esto y tambien tratare de hacer algo un ejemplito o  entender los ejemplos mencionados para empezar de cero.

Por lo pronto un link de lo que es el usb.
http://www.monografias.com/trabajos11/usbmem/usbmem.shtml

Tambien un documento les adjunto.



Título: Re: USB y PBP empecemos un tutorial entre todos
Publicado por: LordLafebre en 11 de Agosto de 2006, 22:52:55
Hola:

Muy interesante la propuesta navaismo, pensaba en hacer algo similar estos dias para subirlo a mi web, pero bien lo podemos hacer aqui, una cosa que hay que tener en claro es que el easyHID es un demo, que no nos ofrece todas las ventajas pero por lo menos lo necesario para hacer nuestras aplicaciones. 

De los tres datos que nos ofrece el esyHID que son

     - Company Name
     - Product Name
     - Serial Number

Solo podemos modificar el product name.

Tampoco podemos modificar el Vendor ID y el Product ID, tampoco el "largo" del Buffer, solamente podemos utilizar elde 8bits. 

Pero como digo, para iniciarnos y utilizar el USB lo veo mas que suficiente, todos los pics son soportados, asi como todos los lenguajes, tanto para pic como para PC, estos lenguajes son:

PicBasic Pro y Proton para los PIC.

Borland Delphi, Visual C++ y Visual Basic para PC.

Si todos tienen estas herramientas, ademas del programador como lo comenta navaismo, creo que estamos listos para empezar.
Título: Re: USB y PBP empecemos un tutorial entre todos
Publicado por: LordLafebre en 11 de Agosto de 2006, 22:59:38
Hola:

Se me olvidaba algo, en vista que en la mañana me equivoque con el MCS pensando que no incluia al easyHID, espero que asi mismo me corrijan si estoy equivocado, esto que digo lo ley en algun lado, creo recordar que fue en el foro de PBP de mecanique y lo comentaba Bruce Reinolds (un grande en este tema).

Asi que listo para que me corrijan panas si me he equivocado.  :D
Título: Re: USB y PBP empecemos un tutorial entre todos
Publicado por: navaismo en 11 de Agosto de 2006, 23:12:58
Pues en la version 2.3 del MCSP si se pueden modificar todo lo que si es que advierten de las id's de vendedores
Título: Re: USB y PBP empecemos un tutorial entre todos
Publicado por: LordLafebre en 12 de Agosto de 2006, 01:08:25
Hola:

Veo que esa version esta muy completa... ya veremos  :mrgreen:
Título: Re: USB y PBP empecemos un tutorial entre todos
Publicado por: Mario en 12 de Agosto de 2006, 01:21:16
Hola.

Excelente.....  :-/

Apúntome yo para el tutorial (claro, para aprender  :D ).

Primero me voy a echar el enlace que propones navaismo para por lo menos no desentonar cuando se hable del tema.

Tengo algunos pic's con USB pero creo que voy a necesitar pedir la actualización a RENTRON porque la 2.45 no tiene mucho soporte para este tema.

Bueno, esperaré el tutorial y si puedo trataré de contribuir.
Título: Re: USB y PBP empecemos un tutorial entre todos
Publicado por: LordLafebre en 12 de Agosto de 2006, 01:39:17
Hola:

Amigos, no se si voy rapido, pero se los comento, si alguien quiere mañana puedo poner un ejemplo muy sencillo para comunicarse con el PC y prender un par de leds... si gustan lo pongo sino esperamos un poco mas.  :mrgreen:
Título: Re: USB y PBP empecemos un tutorial entre todos
Publicado por: Mario en 12 de Agosto de 2006, 01:40:57
Hola.

Me eché el enlace que pusiste Navaismo. Me parece interesante para entender mas o menos qué es USB a grandes rasgos.

Quedé satisfecho pero como me conozco (me gusta complicarme la vida  :D), decidí bajarme el protocolo USB........... ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡QUÉ!!!!!!!!!!!!!!!  ¡¡¡¡¡¡¡¡¡¡¡¡un PDF de 650 páginas!!!!!!!!!!!.

Me puse a buscar y encontré este enlace que me pareció bueno (pero está en inglés):
http://www.beyondlogic.org/usbnutshell/usb1.htm

Lo voy a leer, creo que está mejor explicado que el enlace que tienes, bueno, está explicado más a detalle (hasta donde voy que es la segunda página).

Espero contribuir en algo de programación a este tutorial.

PD: Aquí son las 9:37 PM, asi que quizá no me toque estar cuando ustedes estén (a menos que estén en México   :mrgreen:).
Título: Re: USB y PBP empecemos un tutorial entre todos
Publicado por: Mario en 12 de Agosto de 2006, 01:43:33
Tu ponlo Lord, si es el clásico de prender un Led.  :mrgreen:

El problema estará en que como no se conoce el protocolo quizá no se entienda  :D.

Pero pues a aprender un poco del protocolo entonces.
Título: Re: USB y PBP empecemos un tutorial entre todos
Publicado por: LordLafebre en 12 de Agosto de 2006, 01:49:21
Hola,

bueno aqui son las 23:47 y el ejemplo lo pondre mañana, ya que quiero buscar una placa con el fin de jugar con el USB, si alguien gusta, tambien les puedo facilitar los esquemas si quieren...  :D
Título: Re: USB y PBP empecemos un tutorial entre todos
Publicado por: LordLafebre en 13 de Agosto de 2006, 02:25:45
Hola:

Bueno, luego de un dia largo y con problemas con mi conexion, por fin he podido subir lo que les prometi amigos, hice un mini tutorial para poder conectar nuestros pics al PC por USB, tambien esta el codigo para el PIC y el PC, lo pueden descargar aqui:

www.freewebs.com/glafebre.

Cualquier cosa la comentan por aqui, me gustaria saber si esta entendible o tengo que hacer algunas modificaciones...

Hasta entonces.   :mrgreen: :-/
Título: Re: USB y PBP empecemos un tutorial entre todos
Publicado por: navaismo en 13 de Agosto de 2006, 03:07:37
Amigo Lord como siempre impresionante!!!.

Mario me agrada que contribuyas asi con cosas muy "complejas" (tanbien soy de Mexico y nuestro moderador de Ecuador creo que tenemos el mismo horario).

Bueno, al igual que wasty he tenido problemas con la compilacion del 18F2550 aun con el MPASMWIN 6.0 y estoy trabajando en eso para solucionar mi problema y el suyo tambien. En general creo que el post va demasiado bien.

Ahora creo que es un poquito necesario aclarar como funcionan los buffers del USB, los datos y eso, y lo del arreglo de tu programa amigo lord. Pero como es la 1 am los veo mañana y si no el lunes.

Gracias y un saludo.
Título: Re: USB y PBP empecemos un tutorial entre todos
Publicado por: LordLafebre en 13 de Agosto de 2006, 03:17:51
Hola:

Navaismo te comento lo mismo que a wasty:

Citar
Hola:

Te dejo para que lo descargues aqui, como es libre no veo que esto sea ilegal, asi que aqui lo puedes descargar:

http://rapidshare.de/files/29207545/MPASMWIN401.rar.html

yo pegue esa carpeta dentro de la misma carpeta de PBP y luego lo busque manualmente

pruebalo con ese a ver que pasa pana, con ese e venido compilando mis aplicaciones para USB y todo tranquilo, a ver si solucionas ese problema para que puedas probar el programa  :mrgreen:
Título: Re: USB y PBP empecemos un tutorial entre todos
Publicado por: navaismo en 13 de Agosto de 2006, 23:56:52
Bueno basicamente converti el post de wasty en algo asi como de BUGS de este miniTUTO.

Ahora voto por intentar hacer el ejemplo de este foro ya que se implementa un lcd y podemos ver que pasa no creen???

http://www.picbasic.co.uk/forum/showthread.php?s=2b217904f6dacdfa1839506e16be767f&t=3039
Título: Re: USB y PBP empecemos un tutorial entre todos
Publicado por: LordLafebre en 14 de Agosto de 2006, 00:19:30
Hola:

Navaismo, ya pudiste solucionar el problema que tenias al compilar? ya hiciste tu primera conexion por USB?
Título: Re: USB y PBP empecemos un tutorial entre todos
Publicado por: navaismo en 14 de Agosto de 2006, 01:43:39
 :( no aun no, haber si mañana armo el gtp usb lite y pruebo ya me anda la necesidad de probar tu ejemplo y tratar de hacer mas pero no puedo aun.
Título: Re: USB y PBP empecemos un tutorial entre todos
Publicado por: Mario en 14 de Agosto de 2006, 03:28:34
Hola.

Voy en las siguientes dos páginas del enlace que puse  :).

Me puse a leer tu enlace del otro foro Navaismo pero creo que la mayoría de la gente tuvo problemas con el HID y la comunicación en general aunque hay una persona que explica cómo sí le salió.  :o

Ya había visto el proyecto del carrito de Lord en su página y creo que por ahi se pudiera empezar.
Título: Re: USB y PBP empecemos un tutorial entre todos
Publicado por: LordLafebre en 14 de Agosto de 2006, 10:54:33
Hola:

Mario, subi otro ejemplo en donde detallo mejor como utilizar el HID, el ejemplo del bot está solo el codigo. el otro es un PDF que mas o menos indico como hacerlo, y al final pongo un ejemplo.
Título: Re: USB y PBP empecemos un tutorial entre todos
Publicado por: Mario en 14 de Agosto de 2006, 20:11:07
Hola Lord.

Fuí a tu página y me encontré con las actualizaciones.

No puede bajar esta: http://www.4shared.com/file/3028848/c1d042bb/tp2550.html


La otra si (http://www.4shared.com/file/3028918/bd65dcc9/conectando_un_pic_al_pc_con_el_usb.html) pero aún no la he descomprimido y voy a salir asi que la veré en la noche (voy por mi programador  :-/)

Título: Re: USB y PBP empecemos un tutorial entre todos
Publicado por: LordLafebre en 14 de Agosto de 2006, 20:19:01
Hola:

Pero veo que si han habido descargas, voy a ver que pasa, cuando lo corrija te aviso.
Título: Re: USB y PBP empecemos un tutorial entre todos
Publicado por: LordLafebre en 14 de Agosto de 2006, 20:43:30
Hola:

Bueno, no se que paso pero ni yo lo pude descargar  :D, pero ya lo subi de nuevo, ya lo puedes descargar.  :mrgreen:
Título: Re: USB y PBP empecemos un tutorial entre todos
Publicado por: Mario en 15 de Agosto de 2006, 03:00:17
Hola.

Navaismo:

Estoy como que medio entendiendo la página que propuse pero como que medio le entiendo (mas medio no le entiendo  :D ).

Lord:

Ya bajé todo. Tu PDF es muy explicativo.
Solo 8 bytes porque trabajas a baja velocidad (esto lo leí en el enlace USB, 8 para bajas, 8-32 creo para medias, 64 para altas).

¿Siempre debe ser 48 MHz o pueden ser menos? ¿Influye?

Creo que deberé tomar un cursillo rápido de Visual Basic porque como que le quiero entender al código (de nuevo, mas medio no le entiendo  :D)

Bueno............ a seguir.
Título: Re: USB y PBP empecemos un tutorial entre todos
Publicado por: LordLafebre en 15 de Agosto de 2006, 03:22:30
Hola:

Bueno, yo no soy un experto en esto y desconozco muchas cosas tambien, pero creo que si se trabaja solo a 48Mhz, y con respecto a la velocidad es como dices igual el tamaño del buffer, pero el EasyHID no es completo, es un demo solamente pero que con  lo que nos da, es mas que suficiente.

Con respecto al VB no creo que es problema, si no lo utilizas recuerda que el EasyHID tambien genera codigo para VC++ y Borland Delphi.  :mrgreen:
Título: Re: USB y PBP empecemos un tutorial entre todos
Publicado por: LordLafebre en 15 de Agosto de 2006, 03:25:05
je je, algo que se me olvidaba, y me agradamas cuando hay mas gente interesada porque asi me animo yo, hice dos ejemplos mas, uno para enviar datos desde el pic al PC es un contador sencillo que se visualiza en el PC en un textbox, y el otro es como el de J1M, la suma de dos numeros, ese ejemplo es bidireccional, en el pc escribo los numeros, envio al pic, este los suma y envia el resultado al PC, me falta darle unos toques a las pantallas por eso no lo subo ahora, lo hare mañana  :P  :mrgreen:
Título: Re: USB y PBP empecemos un tutorial entre todos
Publicado por: Wasty_ en 15 de Agosto de 2006, 13:45:33
Hola,

Despues de varios intentos y lecturas de por aqui y por alla logre hacer que funcione el USB  :lol: :lol: Comunica muy bien del PC al PIC y despues de varios intentos más logre mandar datos del PIC al PC. Son datos estaticos pero ya es un comienzo...

Por sierto me pasa algo curioso en Visual, cuando cierro el programa con el boton de pare (el stop que tiene) se me cuelga. Despues puse un boton con el END para que termine y tambien se cuelga. Finalmente borre el END y puse  UNLOAD ME y con eso funciona, nose porque, muy raro. :x

ahhh!! dejo lo que hice, por si alguien le sirve.

Mario, te dejo unos apuntes de visual que tengo haber si te pasas al lado del medio que si entiendes :) espero que te sirva.

El foro no me dejo subirlos, me dijo que estaba llena la carpeta, no importa los dejo aki.

Programa USB, http://www.4shared.com/file/3063197/c9913b29/prueba.html

Apuntes VB, http://www.4shared.com/file/3063256/1065faea/apuntesvb.html
Título: Re: USB y PBP empecemos un tutorial entre todos
Publicado por: LordLafebre en 15 de Agosto de 2006, 14:41:12
Hola:

Me parece raro lo de que se cuelgue, a mi no me pasa eso mira el evento unload, alli se desconecta el dispositivo, de pronto se te cuelga porque cualdo pulsas el stop no se genera el unload y te da ese error.

Bueno, aqui les dejo un ejemplito de envio de datos desde el pic al PC, es un contador que lo hago en el pic y los datos los envio al PC y lo visualizo en un TextBox

(http://img181.imageshack.us/img181/8020/usb1bs5.jpg)

en mi pagina subí y seguire subiendo los ejemplos, en la seccion de proyectos hay uno que dice TP-2550 que es mi placa de desarrollo, en esa seccion estan los archivos.

www.freewebs.com/glafebre

Cualquier inconveniente, comentario aqui creo que seria el mejor lugar para hacerlos  :mrgreen: :D
Título: Re: USB y PBP empecemos un tutorial entre todos
Publicado por: LordLafebre en 15 de Agosto de 2006, 17:25:28
Hola:

amigos, ya subi otro ejemplo, el de la suma de numeros, como el ejemplo de J1M, ingreso los datos en el PC, los envia al PIC este los suma y envia el resultado al PC.

(http://img257.imageshack.us/img257/3748/usb2rm6.jpg)

en el principio de mi web puse un link directo:

www.freewebs.com/glafebre
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: Mario en 16 de Agosto de 2006, 01:38:06
Hola a todos.

Voy a ausentarme del tema porque le quiero dar entrada a mi otro tema de PID aquí.
Le voy a meter tiempo a eso porque es algo que he querido hacer desde hace tiempo y como dispongo de información y (puedo decir) que la comprendo (aunado a que ya tengo mi programador) voy a darle a eso.

Espero que no se atrase tanto el regreso :roll: (Ademas solo me he dedicado a hacer mas grande el tema en respuestas porque no he contribuido en casi nada  :D).
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: Lionel_messi en 13 de Octubre de 2006, 14:09:38
Hola saludos a todos

Despues de mucho tiempo de ausencia me prendo de nuevo con este vicio de la programacion :-) , estube mirando los ejemplos de la pagina de gio (estan espectaculares para empezar) y me pregunto si se pueden simular en proteus
gracias!!!!
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: navaismo en 13 de Octubre de 2006, 14:31:26
no creo que usb se pueda simular en proteus
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: LordLafebre en 14 de Octubre de 2006, 00:33:24
no creo que usb se pueda simular en proteus

Hola:

Rubens, aun no se puede simular en proteus, salvo que te consigas alguna libreria por alli, pero esto lo veo dificil por ahora.
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: kamehouse en 05 de Noviembre de 2006, 18:47:05
 :-/ Pues los acompaño en este tutorial de usb,necesito aprender a usarlo para una practica de laboratorio,por lo pronto ya baje la informacion que tiene LordLafebre en su web.Saludos a todos.
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: navaismo en 12 de Noviembre de 2006, 16:15:47
Hola bueno, ayer en la noche me decidi a continuar con esto, ya habia hecho el ejemplo del TP2550 con exitos, pero esta vez quise repetir todos desde el TP2550 hasta el bidireccional, y oh desagradable vida, niguno me funciono. extraño no? Pues si NINGUNO jalo, todos me decian usb device---> dispositivo desconocido.

Y se desconecta solito del HW USB, ya lo probe en 2 PC's y en niguna jala, no hay errores de compilacion, es cristal es de 12MHZ divido a 3, y nada, ya arme una y otra vez el cto y nada, lo unico que no pongo es el boton de reset dejo la resistencia directa a VDD, la unica duda que tengo es las lineas D+ y d- como se cuales son las de mi USB.....

Estos ultimos dias he tenido pesima suerte encuanto a circuitos se trata...... y ni pensar hacer una PCB  :roll: :8}

alguna sugerencia???
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: LordLafebre en 13 de Noviembre de 2006, 00:13:08
Hola:

pues no creo que sea problemas de las lineas de D+ y D-, si antes te funcionaba, probablemente se trate de algun problema en el compilador, me juego por eso.
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: navaismo en 13 de Noviembre de 2006, 00:26:12
Pero no me saca ningun error, ni nada se compila bien. preguntaba sobre las lineas D+ y D- porque no tengo idea cual sean, jiji ya las inverti y nada ya cambie de pic y nada (ya use 4 y nada). Esta semen no ha sido la mia.
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: LordLafebre en 13 de Noviembre de 2006, 00:41:34
Hola:

Max, probaste solamente con los HEX de mis ejemplos? esto para descartar que sea una falla del PC o algo por el estilo, de funcionar con mi hex ya no seria el PC.
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: navaismo en 14 de Noviembre de 2006, 03:48:05
Gracias Gio, como bien sabes (por lo del msn) la PC hace cosas extrañas, y a veces lo hace y generalmente no, seguire probando y les comento los resultados
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: Josef en 06 de Diciembre de 2006, 09:19:41
Hola Amigos
Trato de abrir la pagina de Lordlafebre, pero me aparece un mensaje de Internet explorer a detectado un problema y debe cerrarse,
lo he intentado varias veces, me interesan bastante los ejemplos para USB, y por supuiesto aprender a manejar este puerto.
La pagina aparece bien, el problema me parece que es cuando acerco el raton a los archivos para bajar.
Atte Josef
Saludos del Misti en Arequipa
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: LordLafebre en 07 de Diciembre de 2006, 01:24:55
Hola:

Me parece raro eso, no creo, o mas bien nadie me ha comentado antes ese error.  :?  No se si le pase eso a alguien mas  :2]
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: Josef en 09 de Diciembre de 2006, 14:32:00
Tienes razon, el problema es mi PC, ya que si pude abrir tu pagina de otra PC.
Disculpas
 :P
Jose
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: Josef en 11 de Diciembre de 2006, 01:15:48
Hola amigos
Como debo configurar el oscilador en un PIC18F4550, lo configure para 20MHz y esta bien, pero al tratar de correrlo con un cristal 40 MHz tengo problemas, aparece el mensaje No se reconoce el dispositivo USB
estoy programando con WINPIC800 y alli escogi
HS OSCILLATOR, HS USED BY USB
CPU SYSTEM DIVIDE BY 4
OSCILLATOR SELECTION DIVIDED BY 10 (40 MHz input)

Tambien estoy usando condensadores de 22pF con el cristal, bueno, no creo que este sea el problema, pero si alguien sabe algo, ........gracias
Saludos de Arequipa Peru
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: Nocturno en 11 de Diciembre de 2006, 02:44:44
Creo que no puedes poner un cristal de más de 20MHz.
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: RedPic en 11 de Diciembre de 2006, 04:09:04
Consiguiendo 4 Mhz para los 48 Mhz necesarios en los PIC's con USB 2.0
 
Voy a intentar explicar un poco de dónde sale esto de los 4 Mhz para el USB 2.0 de los PIC's.

Como nunca me canso de repetir: En los datasheet está TODO, absolutamente todo.

Aquí os pego un trozo de la imagen donde aparece la estructura de configuración de las opciones de los osciladores en los PIC's de la familia 18Fxx5x que son los que soportan el USB 2.0 (Documento 39632b.pdf de Microchip dedicado a los 18F2455-2550-4455-4550 Descargar (http://picmania.garcia-cuervo.com/recursos/PIC%2018F2480-2580-4480-4580%2039637a.pdf))
 
(http://picmania.garcia-cuervo.com/images/USB_OSC_Configuration.gif)

Este sistema es complejo debido a la inmensa versatilidad y posibilidades que ofrece.

Como podéis ver en OSC1 y OSC2 conectamos nuestro cristal: 4 Mhz, 8 Mhz, 12 Mhz, 16 Mhz, 20 Mhz, 24 Mhz, 40 Mhz  ó 48 Mhz, que son los cristales validos compatibles con lo que sigue a continuación.

Tened en cuenta que este cristal es el mismo para generar la frecuencia de 48 Mhz necesaria para el USB 2.0 y para el Clock del PIC, que pueden ser la misma o no, según la configuración que al final adoptemos, quiere esto decir que podemos tener el USB a 48 Mhz y nuestro programa en el PIC funcionando a 12 Mhz por ejemplo.

Fijaos en que justo tras el Smicht Trigger del Primary Oscillator salen tres líneas en paralelo que van a módulos distintos con distintas posibilidades.

La primera línea, la superior, va directamente al switch USBDIV que si está a cero indica que la frecuencia base original del cristal es directamente inyectada al USB, si pasa el switch FSEN que elige entre todo el sistema directo/PLL o el Primary Clock del CPU. Esta Opción de inyectar directamente la frecuencia del cristal es obviamente solo posible si usamos un Cristal de 48 Mhz que es lo que necesitamos para el USB.

Cualquier otro cristal debe ser tratado para conseguir los 48 Mhz necesarios.

El módulo USB Clock Source tiene a su entrada un PLL Prescaler, o sea un divisor de frecuencia. En cada una de sus salidas vamos a tener FOSC dividida por 1, 2, 3, 4, 5, 6, 10 ó 12. Y mediante PLLDIV que no es mas que un Multiplexor vamos a seleccionar la que deseamos usar.

Así si nuestro cristal es de 12 Mhz y en PLLDIV colocamos un 010 estaremos dividiendo por 3 el valor de FOSC con lo que tendremos 4 Mhz a la salida del MUX. Si por el contrario el cristal es de 20 Mhz y en PLLDIV colocamos un 100 entonces dividiremos por 5 FOSC con lo que tendremos también 4 Mhz a la salida del MUX.

Esta salida del MUX es lo que utilizamos para inyectársela al PLL de 96 Mhz. Si le metemos 4 Mhz él genera 96 Mhz. Es esta capacidad de pasar de 4 Mhz a 96 Mhz la que nos da la posibilidad de usar un montón de cristales distintos.

Pero 96 Mhz es el doble de lo que nos hace falta para el USB que son 48 Mhz. Asi que inmediatamente después tenemos que tener, y tenemos, un divisor por 2 que es el segundo camino por el que llegamos a USBDIV y en este caso le pondremos un 1 para usar la señal proveniente del PLL.

Fijaos que además de inyectar la señal oscilante en USBDIV también se conecta la señal del PLL a 96 Mhz en un Postscaler, otro divisor, en este caso por 2, 3, 4 ó 6 y cuyas señales van al CPUDIV. O sea que podemos generar una señal de reloj para nuestro PIC, no para el USB sino para la velocidad de ejecución de nuestro programa tomándola del PLL y que puede ser de 16 Mhz, 24 Mhz, 32 Mhz ó 48 Mhz.

Pero además la señal original llegaba en paralelo al Oscilator Postcaler, otro divisor más, que de forma directa, sin pasar por el módulo PLL nos divide la frecuencia original del cristal por 1, 2, 3 ó 4 y que también va a parar al CPUDIV pero desde otro origen. Con este módulo podemos obtener otra gama de frecuencias distinta para hacer correr el programa.

Cual de ambos CPUDIV vamos a utilizar lo seleccionamos con el switch FOSC3:FOSC0 que es de donde sacaremos la definitiva frecuencia de ejecución de programas.

Por último también tenemos disponible una entrada proveniente del Primary Clock y que dividida por 4 llega también a FSEN y podemos utilizarla en lugar de la que le llega desde el canal directo/PLL

Como podéis ver es toda una maravilla cómo esta montado este tema de los osciladores, sobre todo por lo que respecta a las inmensas capacidades que tiene para hacer correr nuestro PIC a decenas de velocidades distintas siendo capaz, al mismo tiempo de tener disponibles los 48 Mhz imprescindibles para el USB 2.0.

Me descubro ante los ingenieros de Microchip y los aplaudo, se lo merecen.

P.D.: Creo que Manolo tiene razón en los límites del cristal. Abajo os pego una imagen del Datsheet con dichos límites según el tipo de oscilador seleccionado con los fuses.

(http://picmania.garcia-cuervo.com/images/USB_MAX_OSC.gif)

Publicado originalmente en Picmania by Redraven (http://picmania.garcia-cuervo.com/Conceptos.htm)
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: Josef en 12 de Diciembre de 2006, 01:29:35
Hola amigos
Probe el ejemplo de Lordlafebre, bajandolo de su web, con las indicaciones que el da, EL PROGRAMA PARA ENCENDER 8 LEDS EN EL PUERTO B por el USB, pero yo estoy usando un PIC18F4550, ya me detecta el hardware la PC, y aparece como dipositivo HID, luego procedi a realizar el programa en la PC con Visual Basic 6.0, siguiendo las indicaciones en PDF, corro la aplicacion y el programa no parece tener errores, conecto el hardware y corro el programa en Visual Basic pero no logro encender ni apagar ningun led desde la PC, (algunos LEDs estan encendidos por defecto), no se si sea normal. Lo peor es que cuando tengo el harware conectado VISUAL BASIC SE CUELGA al correr la aplicacion (especificamente cuando quiero detener o cerrar la aplicacion), no sucede eso cuando tengo desconectado o apagado el hardware, Pienso que debe existir algun tipo de comunicacion y por eso se cuelga Basic, pero donde estoy cometiendo el error?
Alguien tiene alguna idea......
Gracias
Saludos de Jose desde Arequipa Peru
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: LordLafebre en 12 de Diciembre de 2006, 01:48:23
Hola:

Pues bien, el programa esta hecho para un 2550, no se si estas grabando el hex del 2550 en el 4550, no he utilizado este ultimo, asi que no se que diferencia pueda llegar a tener, con respecto a lo de que se cuelga VB me parece raro tambien, no he tenido nunca ese tipo de errores.  :?
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: Josef en 12 de Diciembre de 2006, 14:23:45
Hola Lordlafebre
Bueno, ya se que me hacia falta en el programa del PIC, HICE LA SGTE MODIFICACION (por cierto esto pertenece a tu ejemplo en el PDF), al parecer no esta muy clara esa linea, pero, a pesar de eso te agradezco que lo hayas publicado, ya que nos ayuda a los que queremos aprender mas de los PICs
y entiendo que haces electronica, por que te gusta, como a mi y a muchos, asi que adelante.......y espero que este foro siga creciendo, con gente como ustedes......gracias

usbinit ' initialise USB...
ProgramStart:
Gosub DoUSBIn ‘borramos esta línea
gosub DoUSBOut
PORTB = usbbuffer[7]
goto ProgramStart

LO CAMBIE POR

usbinit ' initialise USB...
ProgramStart:
Gosub DoUSBIn
'gosub DoUSBOut  ‘borramos esta línea
PORTB = usbbuffer[7]
goto ProgramStart

Ya con esta modificacion y con tu programa en Visual, el proyecto corre muy bien.
Ahora el problema que yo tengo en Visual es que no me reconoce, la conversion BinADEC, me envia mensajes de error alli, asi que como en visual se demasiado poco, ....pregunta.....alguien sabe por que?.
Cuando obvio esta parte y envio datos directamente, por ejemplo DatoSalida = 15 ' (eliminando esta parte) BinADec(Val(Text1.Text))
si logro representar este numero en los LEDS, asi que el error tiene que estar alli.

ESTA ES LA PARTE CO EL ERROR:

Private Sub Timer1_Timer()
    Text1.Text = B7 & B6 & B5 & B4 & B3 & B2 & B1 & B0
    DatoSalida = BinADec(Val(Text1.Text))
    BufferOut ( 8 ) = DatoSalida
    hidWriteEx VendorID, ProductID, BufferOut(0)
End Sub


Saludos de Arequipa Peru
Pdta: Probe tu programa con PIC18F2455 y sin necesidad de ninguna modificacion, el programa corre a las mil maravillas.......
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: navaismo en 12 de Diciembre de 2006, 14:35:28
jeje, suele pasar si no se lee bien pero esta mas que cristalino que quiere decir borramos esta linea. Y con lo de VB esa linea esta mas que correcta porque si jala tal vez el error este en otro lugar. Creo que hubieras intentando probarlo primero todo con el 2550 y una vez entendido todo  pasarte al 4550 pero el hubiera no existe :D

Por cierto cuando compilas el programa de VB no te da algun error o si?? cual es??
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: LordLafebre en 12 de Diciembre de 2006, 16:03:59
Hola:

Si te tira ese error es posiblemente porque no estas cargando el modulo (.bas) en ese archivo esta hecha la funcion binadec y decabin, revisa que lo tengas abierto y adjuntado al proyecto.
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: Josef en 12 de Diciembre de 2006, 17:01:22
Hola amigos
Disculpen mi ignorancia, donde encuentro ese modulo (.bas) con las funciones binadec y decabin, pues no la encuentro por ningun lado, ni en mi proyecto ni en el tuyo.
Gracias
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: navaismo en 12 de Diciembre de 2006, 17:26:28
El Bas lo genera el HID y lo guarda en el mismo directorio de Visual Basic generalmente se llama HIDDLLINTERACE.BAS
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: LordLafebre en 12 de Diciembre de 2006, 18:36:37
Hola:

Veamos, el .bas este no lo genera PBP, este es un modulo de visual basic, lo encontraras en donde este el formulario y el proyecto del mismo, osea en el mismo directorio en de donde estas abriendo ese programa.
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: Josef en 12 de Diciembre de 2006, 23:21:24
Hola amigos
Acertaron como siempre, el archivo mchidinteface era el problema, no era igual al que propone Lordlafebre, bueno el easyHID solo genero el codigo hasta la linea 98, el resto no, este se debio generar automaticamente?, o lo agregaron? (en este caso Lordlafebre)
El resto que faltaba era lo siguiente:

      Public Function BinADec(Valbin As String) As Integer
      Dim ValAn As Integer
      Dim PosBin As Integer 
      ValAn = 0
      PosBin = 1
      Do
         If PosBin = (Len(Valbin) + 1) Then Exit Do
         If Right(Left(Valbin, PosBin), 1) = "1" Then
            ValAn = (ValAn + 0.5) * 2
         Else
            ValAn = ValAn * 2
         End If
         PosBin = PosBin + 1
      Loop
      BinADec = ValAn
      End Function

      Public Function DecABin(ValDec As Integer) As String
      Dim Valdec2 As String
      Dim Valdec1 As Integer
      Dim res As Integer
      Dim Bin As String
     Valdec1 = ValDec
          Do
             If Valdec1 = 0 Then
                 Exit Do
              End If
              res = Valdec1 Mod 2
              Bin = res
              Valdec2 = Bin + Valdec2
              Valdec1 = Int(Valdec1 / 2)
          Loop
      If Len(Valdec2) < 9 Then Valdec2 = String$((8 - Len(Valdec2)), "0") + Valdec2
      DecABin = Valdec2
      End Function

      Sub Delay(Segundos As Double)
       Dim TempTime As Double
       TempTime = Timer
       While Timer - TempTime < Segundos
         DoEvents
         If Timer < TempTime Then
           TempTime = TempTime - 24# * 3600#
         End If
       Wend
     End Sub

Gracias por su ayuda, ahora si corre bien el programa, espero sigamos avanzando.......
Josef
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: LordLafebre en 13 de Diciembre de 2006, 16:55:37
Hola:

Eso no lo hace el easyHID, es un codigo agregado por mi.
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: Josef en 29 de Diciembre de 2006, 10:25:54
Hola amigos
Alguien ha logrado enviar datos a un LCD por el puerto USB, quiza nuestro amigo Lordlafebre haya hecho algo asi, pero  estos dias parece haberse caido freewebs.

A ver si alguien comenta sobre mas proyectos por el puerto USB.
Josef
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: navaismo en 29 de Diciembre de 2006, 11:48:28
pues no es muy dificil un dato x lo mandas de la pc al pic y del pic al lcd lo dificil sera mandar cadenas y esas cosas, al parecer puse un link en las primeras hojas donde en el foro de PBP de inlges lo hacen
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: navaismo en 13 de Enero de 2007, 15:49:19
Bueno Gracias a la placa entrenadora TP-2550 made it by  LORDLAFEBRE la cual me ha llegado hoy. puedo constatar que efectivamente todos lo ejemplos funcionan a la perfeccion!!!!!


Gracias my master por el envio y los ejemplos ahora si a darle duro al USB en PBP, :-/
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: LordLafebre en 13 de Enero de 2007, 16:46:22
Hola:

No hay de que compa a ver si retribuyo algo de lo que me has enviado  :mrgreen:, y con respecto a los ejemplos de que funcionan, funcionan  :D
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: Alejandro en 13 de Febrero de 2007, 18:27:03
Hola a todos,

Soy nuevo en el foro y he estado revisando los temas y estos son  muy interesantes, en especial este, yo tambien  estoy muy interesado en utilizar el puerto USB tanto de la PC como elo de los pics, tambien he estado revisando la pagina del maestro  LordLafebre (http://www.freewebs.com/glafebre/) si me deja llamalo asi y he descargado el minitutorial que ha publicado y esta interesantisimo, tambien me he conseguido el PBP y estoy usando el MPLab IDE 7.5 de microchip, varios pics 18f2550 y el famoso GTP-USB Plus (http://www.winpic800.com)  y he bajado un Pluging (http://www.melabs.com) para trabajar con el PBP y el MPlab IDE, aqui empiezan mis problemas y estoy bien perdido, he ejecutado el HeasyHID y este me genera dos grupos de archivos para el PicBasic Pro y para El Visual Basic, cuando trato de compìlar el *.pbp con el MPlab este me genera un monton de errores, cuando intento los mismo con el MCS tambien tengo problemas similares, mi pregunta son las siguientes:
- Necesito trabajar con el MCS o puedo trabajar con el MPlab?
-El MCS que tengo es una version 2.3.00, es necesario que trabaje con el MicroCode Studio Plus ?y donde puedo conseguirlo?

Espero sus comentarios

Alenadro
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: LordLafebre en 13 de Febrero de 2007, 18:52:16
Hola:

Alejandro, necesitas compilar con los dos, y tienes que ver si tu version de PBP, MCS y MPASM soportan esos pics, si uno de ellos no lo hace pues es obvio que te dará problemas en la compilacion, asi que tienes primero que tener las versiones adecuadas, las versiondes de MCS y MPLAB si las soportan y la version de PBP que soporta estos pics es a partir de la version 2.45.

Si tienes esto bien, entonces debes solamente enlazar el PBP con el MPASM, esto lo haces en la opcion Compile and program options, luego en la pestaña ed assembles marca usar el MPASM y busca la ruta en la que se encuentra, y luego puedes compilar ya tu codigo.

Cualquier cosa haznosla saber.
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: Alejandro en 14 de Febrero de 2007, 02:01:48
LordLafebre,

Gracias por tu ayuda, siguiendo tus consejos y tu tutorial he intentado compilar un ejemplo, estoy usando el MCS 2.3.0.0 y el PBP 2.46, cuando intento compilarlo este me presenta el siguinete error:

Error[113] e:\pbp\18f2550.inc 24: Symbol not previosly definid (_ICPRT_OFF_4L)

Dime como puedo solucionar esto?

Saludos

Alejandro
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: LordLafebre en 14 de Febrero de 2007, 02:08:14
Hola:

pues ese error es la primera ves que lo veo, no se a que se deba, de pronto no tienes el archivo 18f2550.inc o esta dañado o algo asi  :?
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: Alejandro en 14 de Febrero de 2007, 10:53:59
LordLafebre,

Este es el archivo 18f2550.inc

;**************************************************************************
;*  18F2550.INC                                                                                                         *
;*                                                                                                                             *
;*  By        : Leonard Zerman, Jeff Schmoyer                                                               *
;*  Notice    : Copyright (c) 2004 microEngineering Labs, Inc.                                        *
;*              All Rights Reserved                                                                                   *
;*  Date      : 12/31/04                                                                                               *
;*  Version   : 2.46                                                                                                     *
;*  Notes     :                                                                                                             *
;*************************************************************************
        NOLIST
    ifdef PM_USED
        LIST
        "Error: PM does not support this device.  Use MPASM."
        NOLIST
    else
        LIST
        LIST p = 18F2550, r = dec, w = -311, f = inhx32
        INCLUDE "P18F2550.INC"   ; MPASM  Header
        __CONFIG    _CONFIG1L, _PLLDIV_5_1L & _CPUDIV_OSC1_PLL2_1L & _USBDIV_2_1L
        __CONFIG    _CONFIG1H, _FOSC_HSPLL_HS_1H
        __CONFIG    _CONFIG2H, _WDT_ON_2H & _WDTPS_128_2H
        __CONFIG    _CONFIG3H, _PBADEN_OFF_3H
        __CONFIG    _CONFIG4L, _LVP_OFF_4L & _ICPRT_OFF_4L & _XINST_OFF_4L
        NOLIST
    endif
        LIST
EEPROM_START   EQU   0F00000h
BLOCK_SIZE   EQU   32

Cuando compilo el achivo *.pbp se presenta el siguiente error resaltado en rojo

Error[113] e:\pbp\18f2550.inc 24: Symbol not previosly definid (_ICPRT_OFF_4L)

Dime como prodria eliminar este error

Alejandro
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: Alejandro en 15 de Febrero de 2007, 18:52:45
Hola Lafebre,

Alguna sugerencia...


Alejandro
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: LordLafebre en 15 de Febrero de 2007, 19:42:31
Hola:

Pues ni idea, y esta igual al .inc de mi compilador:

;****************************************************************
;*  18F2550.INC                                                 *
;*                                                              *
;*  By        : Leonard Zerman, Jeff Schmoyer                   *
;*  Notice    : Copyright (c) 2004 microEngineering Labs, Inc.  *
;*              All Rights Reserved                             *
;*  Date      : 12/31/04                                        *
;*  Version   : 2.46                                            *
;*  Notes     :                                                 *
;****************************************************************
        NOLIST
    ifdef PM_USED
        LIST
        "Error: PM does not support this device.  Use MPASM."
        NOLIST
    else
        LIST
        LIST p = 18F2550, r = dec, w = -311, f = inhx32
        INCLUDE "P18F2550.INC"   ; MPASM  Header
        __CONFIG    _CONFIG1L, _PLLDIV_5_1L & _CPUDIV_OSC1_PLL2_1L & _USBDIV_2_1L
        __CONFIG    _CONFIG1H, _FOSC_HSPLL_HS_1H
        __CONFIG    _CONFIG2H, _WDT_ON_2H & _WDTPS_128_2H
        __CONFIG    _CONFIG3H, _PBADEN_OFF_3H
        __CONFIG    _CONFIG4L, _LVP_OFF_4L & _ICPRT_OFF_4L & _XINST_OFF_4L
        NOLIST
    endif
        LIST
EEPROM_START   EQU   0F00000h
BLOCK_SIZE   EQU   32
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: Flugplatz en 04 de Marzo de 2007, 17:22:01
Hola ...

Estoy cacharreando con el tema este.

Estoy en la fase de encender un led  :mrgreen: y solo he probado a hacer un circuito para que simplemente me lo reconozca Güindows. Un led bicolor, rojo mientras espera, y verde cuando conecta (RA0 y RA1).

La cosa va bien, ya que lo estoy haciendo en Proton+ (Tengo llave), y él solo se encarga de mantener el pull activo mediante una interrupción. Me parece que PicBasic PRO no te permite esta historia, y hay que mantenerla activa por el programa, pero básicamente funciona igual.

Aunque en Windows ya probaré, ahora me surgen unas preguntillas relativas a Linux.

Tengo el Ubuntu 6.10 y funciona estupendamente, de hecho ya he conseguido que me funcionen muchas cosas; ahora estoy escribiendo este mensaje con él mismo.

Navaismo, quizás tu lo has mirado ya. ¿Existe algo parecido a la mcHID.dll en Linux?(probablemente será un mcHID.h). ¿Sabras si hay algún entorno de desarrollo tipo Gambas con el que se pueda tirar de esta dll o similar? ... Aunque Windows no me ha dado problemas, en el Ubuntu me ha reconocido el circuito del tirón, y me aparece sin problemas en el Administrador de Dispositivos, lo cual me incita a hacer la parte de PC en Linux.

Un saludo, y ya pondré alguna cosilla que vaya haciendo.
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: LordLafebre en 04 de Marzo de 2007, 20:04:46
Hola:

No se nada de linux, sólo que es un OS  :D  pero en el foro de proyectos alguien publico algo al respecto:

http://www.todopic.com.ar/foros/index.php?topic=2260.120

Seguro te sirve  :mrgreen:
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: Alberto_Maligne en 07 de Marzo de 2007, 10:38:49
Hola , muy bueno todo esto que estan haciendo. Estoy tratando de aprender sobre el tema, baje el TP2550 , tengo el PBP2.46 y el microcodestudio ultimo bajado de la pagina de mecanique y el mpasm503. Abri el MCS setee la ruta tanto para PBP y mpasm, cargo el TP2550 pbp y cuando doy F9 para compilar me tira mas de 30 errores (too many errors!!) y no hay forma de solucionar el tema. Ah por cierto baje el easyHID pero por ahora estoy usando el TP2550. Alguna sugerencia, algo que ese haciendo mal?, Gracias
Alberto Maligne
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: navaismo en 07 de Marzo de 2007, 20:21:34
Para compilar se necesita la version full del microcode studio plus y el PBP 2.46 o 2.47. HAy un link donde se resolvieron la mayoria de esos errores fue publicado por el amigo WASTY.

Saludos
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: Alberto_Maligne en 08 de Marzo de 2007, 00:29:44
Estoy usando el MCSPlus PBP 2.46 y trato de compilar con el PBP de TP2550 de Lord. No hay caso varios Warning y un error y de alli no salgo. El compilador es el mpsam503. Alguna sugerencia, gracias

PD: el error es similar al que tiraba Alejandro
Error[113] e:\pbp\18f2550.inc 24: Symbol not previosly definid (_ICPRT_OFF_4L)

Hasta aqui llegue...

Novedades: 08-03-2007
Logre compilar el TP2550. Tal vez ya lo hayan resuelto en su momento pero yo lo solucione asi:
en el archivo de PBP 182550.inc:

    NOLIST
    ifdef PM_USED
        LIST
        "Error: PM does not support this device.  Use MPASM."
        NOLIST
    else
        LIST
        LIST p = 18F2550, r = dec, w = -311, f = inhx32
        INCLUDE "P18F2550.INC"   ; MPASM  Header
        __CONFIG    _CONFIG1L, _PLLDIV_5_1L & _CPUDIV_OSC1_PLL2_1L & _USBDIV_2_1L
        __CONFIG    _CONFIG1H, _FOSC_HSPLL_HS_1H
        __CONFIG    _CONFIG2H, _WDT_ON_2H & _WDTPS_128_2H
        __CONFIG    _CONFIG3H, _PBADEN_OFF_3H
        __CONFIG    _CONFIG4L, _LVP_OFF_4L & _ICPRT_OFF_4L & _XINST_OFF_4L
        NOLIST
    endif
        LIST
EEPROM_START   EQU   0F00000h
BLOCK_SIZE   EQU   32
-----------------------------------------------------------------------
 Es decir agregue w = -230 para evitar los warning por __CONFIG que fueron cambiados a CONFIG, y elimine :& _ICPRT_OFF_4L , quedando asi:

    NOLIST
    ifdef PM_USED
        LIST
        "Error: PM does not support this device.  Use MPASM."
        NOLIST
    else
        LIST
        LIST p = 18F2550, r = dec, w = -311, w = -230, f = inhx32
        INCLUDE "P18F2550.INC"   ; MPASM  Header
        __CONFIG    _CONFIG1L, _PLLDIV_5_1L & _CPUDIV_OSC1_PLL2_1L & _USBDIV_2_1L
        __CONFIG    _CONFIG1H, _FOSC_HSPLL_HS_1H
        __CONFIG    _CONFIG2H, _WDT_ON_2H & _WDTPS_128_2H
        __CONFIG    _CONFIG3H, _PBADEN_OFF_3H
        __CONFIG    _CONFIG4L, _LVP_OFF_4L & _XINST_OFF_4L
        NOLIST
    endif
        LIST
EEPROM_START   EQU   0F00000h
BLOCK_SIZE   EQU   32
   
Esto parece ser ( mis conocimientos son nulos) si se utiliza el mpsam503. Es posible que al usar una version anterior (la 4 creo) esos errores no se presentaban.

Ahora solo me resta consegui el PIC (dificil por estas tierras), bajarlo y probarlo.

Cualquier correcion es bienvenida, soy realmente muy novato en esto y aprecio cualquier ayuda. Gracias
Alberto Maligne
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: Alejandro en 09 de Marzo de 2007, 20:12:17
Hola Alberto_Maligne,

Si yo tambien ya logre solucionar el problema, la solucion es que el file que te crea el easyHID tiene que estar ubicado en el mismo directorio del PBP, ademas la linea "   __CONFIG    _CONFIG4L, _LVP_OFF_4L & _ICPRT_OFF_4L & _XINST_OFF_4L" es la palabra de configuracion del pic y otra solucion es eleminar esta linea y manualmente configurar el programador.

Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: Alejandro en 09 de Marzo de 2007, 20:20:57
navaismo,

Yo he compilado con el Microcode Studio 3.00 que he bajado de www.melabs.com  y el PBP 2.46 sin ningun problema
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: cesar_11 en 19 de Abril de 2007, 15:35:14
Yo use la vercion 2.47 del PBP y ya no tube problemas.
Tambien es importante nombrar y colocar a la carpete pbp2.47 de la siguiente forma y en el siguiente directorio  C:\PBP
PD: Use la version 5.03 del MPASM y tome todos los archivos de la carpeta C:\PBP\USB18 y los coloque dentro del proyecto que me genero el EasyHid
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: anpepla1 en 11 de Julio de 2007, 04:25:33
La solucion para el error es la siguiente:
En el archivo 18f2550.inc del PBP las lineas deben de coincidir con los símbolos que están en el P18f2550.inc del MPASM.
Por ejemplo:
En mi 18f2550.inc, una de las lineas es:
        __CONFIG    _CONFIG1L, _PLLDIV_5_1L & _CPUDIV_OSC1_PLL2_1L & _USBDIV_2_1L
Pero en el P18f2550.inc del MPASM, las opciones que me da a elegir son:
        _CPUDIV_1_1L         EQU  H'E7'    ; CPU system clock not divided
        _CPUDIV_2_1L         EQU  H'EF'    ; CPU system clock divided by 2
        _CPUDIV_3_1L         EQU  H'F7'    ; CPU system clock divided by 3
        _CPUDIV_4_1L         EQU  H'FF'    ; CPU system clock divided by 4
Así pues la linea correcta sería:
        __CONFIG    _CONFIG1L, _PLLDIV_5_1L & _CPUDIV_1_1L & _USBDIV_2_1L

Además copiar al directorio que ha creado el EasyHid, en la carpeta PICBASICPRO los archivos del PBP\usb18:
usb18mem.asm
usb18.inc
usb18.asm
18f2550.bas
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: IBOT en 31 de Julio de 2007, 20:59:05
Hola soy nuevo en esto del usb y pues lei el archivo pdf y veo ke al final viene un diagrama a utilizar para el ejemplo y pues mis preguntas son las siguientes:

en el diagrama en la conexion del USB muestra ke hay ke konectar cuatro lineas, gnd, d-,d+,y Vusb ¿el Vusb a donde va conectado? ¿la alimentacion del pic la suministra el Vusb? :(,¿ Vcc es igual a Vusb? :?, espero y me puedan ayudar con mi duda
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: RedPic en 01 de Agosto de 2007, 01:03:55
EL Vusb es la alimentación de 5V que proporciona el PC. Si tu diseño tienen alimentación propia puedes dejar el VUsb sin conectar, o si no la tienen puedes alimentar tu PCB con Vusb. Yo en mis diseños, aunque dispongan de alimentación, les conecto Vusb a Vcc pero le coloco un par de pines con un jumper para conectar/desconectar Vusb cuando yo quiera. Así si va a trabajar conectado a un PC no le pongo alimentación y pongo el jumper uniendo Vusb con Vcc y de esta forma alimento la placa.

No es aconsejable unir Vusb y Vcc alimentandolo con las dos tensiones. O uno o el otro.  :mrgreen:

Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: Nocturno en 01 de Agosto de 2007, 01:49:59
No confundir con el pin Vusb del PIC, cuya única función es la de regular la tensión interna del PIC para trabajar en modo USB y que irremediablemente llevará un condensador tirado a masa de 220nF como mínimo.
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: RedPic en 01 de Agosto de 2007, 02:12:30
Cierto, Manolo.

El Pin del PIC para regular la tensión de la alimentación del módulo USB se llama VUsb y lleva como bien dices un condensador a masa.

El Pin del conector USB que trae la alimentación del bus USB se llama VBus y es al que me refiero en mi post que puede utilizarse para hacer las funciones de Vcc.

(http://picmania.garcia-cuervo.net/images/RRUSB_Complete_Minimal_Hardware.gif)
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: IBOT en 01 de Agosto de 2007, 17:11:34
ahora entiendo gracias por su ayuda, ahora tendre ke buskar un lugar donde vendan el pic ya ke aka hay muy pokos lugares donde los venden. :(
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: LoPiTaL en 04 de Noviembre de 2007, 10:19:32
Hola. Tenía un pequeño problema, y es que no consigo que el ordenador me detecte el PIC cuando lo conecto. Me explico: he probado varios programas de los que habeis presentado, siguiendo el manual ese de pdf y tras muchos intentos he logrado que funcione correctamente. Sin embargo, cuando modifico algo en el programa y lo vuelvo a enchufar, a veces me lo detecta y a veces no (y lo malo es que la mayoría de veces es que no) y eso que he tenido especial cuidado con lo de la división del reloj (uso un cristal de 12 MHz y divido por 3 para conseguir los 4 MHz). No se por qué, pero creo que es debido al reloj, pero no sé qué es, les agradecería mucho una ayudita o algún consejo para montar el circuito... Lo estoy probando directamente en protoboard, sin usar entrenadores ni cosas así...

También me preguntaba si existe la combinación Oscilador Interno + USB (he leido el datasheet pero la verdad es que no me ha quedado muy claro), así me aseguraría que el reloj va bien...

Aquí les dejo el programa que estaba probando ahora por si fuese problema software y no hardware, aunque en verdad me ha pasado con todos los programas con los que he probado (no hagan caso de lo de comunicar con otro pic, porque aún no he llegado a probar esa fase, tan sólo estoy intentando conectar el USB):

Citar
'Enciende dos leds conectados al cerebro central y uno situado en la estación base
'Conexion:
'   PIN B0: reloj.
'   PIN B1: datos.
'   PIN B2: LED estación base.

DEFINE OSC 48         
DEFINE LOADER_USED 1

USBBufferSizeMax   con 8  ' maximum buffer size
USBBufferSizeTX    con 8  ' input
USBBufferSizeRX    con 8  ' output

' the USB buffer...
USBBuffer        Var Byte[USBBufferSizeMax]
USBBufferCount   Var Byte

'Variables propias
i                VAR BYTE
aux              VAR BYTE
auxBit           var bit
estadoled        VAR bit
orden            VAR byte

' ************************************************************
' * main program loop - remember, you must keep the USB      *
' * connection alive with a call to USBService every couple  *
' * of milliseconds or so...                                 *
' ************************************************************

TRISB=0         'B0 y B1 como salidas, B2 y B3 como entradas y el resto,
                'como da igual(no las usaremos), salidas.
PORTB=0

usbinit ' initialise USB...
ProgramStart:
   gosub DoUSBIn
   
   'Cuando se emita una orden nueva, en USBBuffer[4] tendremos un 1. La orden
   'nueva será transmitida por USBBuffer[5]. Para el caso de los LEDs: 1->LED 1
                                                                    '  2->LED 2
   'Si de lo que se trata es de una orden para la estación base, en USBBuffer[5]
   'tendremos un 2. La orden será encender o apagar un LED situado en el pin 2 del puerto B
       USBSERVICE
       IF USBBuffer[4]=1 THEN   'Es una orden para el robot
            GOSUB EnvioDato   
       else                     
            if usbbuffer[4]=2 then 'USBBuffer[4]=2 -> Es una orden para la estación base.
                if estadoled=1 then
                    PORTB.2=0
                    estadoled=0
                else
                    PORTB.2=1
                    estadoled=1
                endif
            Endif
   
       endif
   
   'gosub DoUSBOut Por ahora no hace falta, dado que no enviamos nada al ordenador.
   goto ProgramStart 

' ************************************************************
' * receive data from the USB bus                            *
' ************************************************************
DoUSBIn:
   USBBufferCount = USBBufferSizeRX              ' RX buffer size
   USBService                                    ' keep connection alive
   USBIn 1, USBBuffer, USBBufferCount, DoUSBIn   ' read data, if available
   return
   
' ************************************************************
' * wait for USB interface to attach                         *
' ************************************************************
DoUSBOut:
   USBBufferCount = USBBufferSizeTX              ' TX buffer size
   USBService                                    ' keep connection alive
   USBOut 1, USBBuffer, USBBufferCount, DoUSBOut ' if bus available, transmit data
   return


'Comunicación serie a dos hilos sin comprobación de escritura.
'El reloj se mandará por el pin 0 y el dato por el pin 1, ambos del puerto B

EnvioDato:
    orden=USBBUFFER[5]
    'Enviamos los datos:
    aux=1       'aux solo tendrá un bit activo cada vez. De esta forma y mediante la AND
                'podemos saber qué bit debemos mandar cada vez.
                'Mandamos primero el bit MENOS significativo (LSB).
               
    FOR i=1 TO 8 STEP 1
        usbservice      'Mantenemos la conexión con el USB activa
        if (AUX and orden)=0 then    'Calculamos el bit que se debe enviar
            auxBit=0
        ELSE
            auxBit=1
        endif
           
        PORTB.1=auxBit   'Enviamos primero el dato y después activamos el reloj.
        PORTB.0=1        'Activamos el reloj.
       
        'Esperamos un tiempo prudencial y deshabilitamos el reloj.
        pause 100
        usbservice
        PORTB.0=0
       
        aux=aux*2 'Hacemos un desplazamiento a la izquierda para preparar el siguiente dato.
       
    NEXT i   
RETURN

Muchas gracias de antemano,

LoPiTaL
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: LordLafebre en 04 de Noviembre de 2007, 11:54:15
Hola:

Ten cuidado con las pausas de tiempos grands y recuerda llamar constantemente a USBSERVICE, el pause 100 te puede causar problemas, mejor haz un bucle con pausas mucho más pequeñas y dentro del bucle llama a USBSERVICE, o si quieres evitarte eso, usa un timer, y cuando se desborde llamas a usbservice.
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: LoPiTaL en 04 de Noviembre de 2007, 17:19:11
Ok, gracias. Sin embargo no creo que el problema esté ahí (al menos de momento), ya que tan sólo me he centrado en encender el led en la "estación base" (USBBuffer[4]=2) y no entra en la rutina de EnvioDato (o, al menos, no debería).

¿A nadie le ha ocurrido esto: cada vez que conecto el USB, el ordenador no reconoce el dispositivo? A mi esque es muy curioso, ya que probando con el programa de encender/apagar un led normal y corriente, al principio no me iba, y tras varias pruebas funcionó, y lo único que cambié entre prueba y prueba fue el cristal y los condensadores conectados a él... ¿Realmente el cristal este es tan sensible como para que se aprecie el ponerlo girado, un poco sacado, moverlo un poco? ¿O es que estoy haciendo algo mal y no lo veo?

Toda ayuda se agradece,

LoPiTaL
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: LordLafebre en 04 de Noviembre de 2007, 18:44:44
Hola:

Recuerda que estás armando el circuito en el protoboard, mira que todos los cables estén bien conectados y que el conector sobretodo no esté "bailando".
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: LoPiTaL en 05 de Noviembre de 2007, 18:36:20
Ok, probaré de montarlo en una placa de esas que ya vienen perforadas y que se tiran las pistas con estaño (xD no recuerdo el nombre....) y a ver si lo detecta bien....

Muchas gracias y ya comentaré si avanzo bien o que...

LoPiTaL
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: LoPiTaL en 07 de Noviembre de 2007, 19:17:54
Ya he hecho el montaje en plaquita y funciona a las mil maravillas!!!!!  :lol: :lol: :lol:

Gracias por el consejo, ya puedo seguir trasteando :D
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: LordLafebre en 08 de Noviembre de 2007, 11:53:22
Hola:

Me alegra, y el consejo fué porque ya viví algo como eso :D
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: J_jOsE en 20 de Noviembre de 2007, 12:32:48
hola a todos
bueno, escribo para pedirles un favor. :(
Necesito hacer un proyecto utilizando el puerto USB del PIC18F4550
y no se si me podrían ayudar,  no se si tuvieran algun tutorial o  ejemplos
para leerlos y asi poder entender con mayor facilidad.
De antemano les agradezco esperando una respuesta pronta
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: navaismo en 20 de Noviembre de 2007, 14:36:18
Hola, toda la informacion y ejemplos esta en este tema por favor, leelo desde el principio.
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: Jorge XV en 03 de Diciembre de 2007, 14:01:38
Antes que nada me presento.... :)
Me llamo Jorge Mariani ...Soy de Argentina y desde hace 1 mes que venia buscando la manera de manejar dispositivos externos desde la PC a travez del USB.

Ya me estaba dando por vencido al ver la complejidad del manejo interno en los Microcontroladores en lo que a USB se refiere....hasta que encontre el Proyecto del Amigo Giovanni Lafebre que represento una tabla de salvacion para mi :)

Ante todo...GRACIAS GIOVANNI Y FELICITACIONES por tu Exelente Tutorial de como utilizar esas exelentes librerias que genera EasyHid !!!!!!
Sin ellas...conectar un microcontrolador a una PC por USB seria todo un suplicio  :mrgreen:

Para compensar tanta ayuda desinteresada a los que como yo estabamos en aprietos  :mrgreen:...voy a contribuir con algunos datos que logre averiguar investigando un poquito.... 8)

El problema que se les presento a Alejandro y a Alberto...tambien se me presento a mi....y pude averiguar que la causa no estaba radicada en el Pic Basic Pro del cual yo tambien consegui la version 2.46...sino en el MPASM cuya version mas nueva que es la unica que pude conseguir actualmente en Internet...es la causante de dichos problemas  8)

El error al compilar con el MPASM nuevo se produce por 2 causas....Una la descubri y la otra tuve que conformarme con hacer lo que sugiere Alberto

El Error en la linea :

_CONFIG _CONFIG4L, _LVP_OFF_4L & _ICPRT_OFF_4L & _XINST_OFF_4L

se produce por la faltante de 2 lineas de codigo en ...18F2550.INC del MPASM nuevo que configuran ICPRT
Solo hay que agregar dichas lineas como lo hice yo y no aparecera dicho error al ensamblar

Editar el archivo 18F2550.INC del nuevo MPASM....ir hasta donde estan estas lineas.....
Citar
;----- CONFIG4L Options --------------------------------------------------
_STVREN_OFF_4L       EQU  H'FE'    ; Stack full/underflow will not cause Reset
_STVREN_ON_4L        EQU  H'FF'    ; Stack full/underflow will cause Reset   

_LVP_OFF_4L          EQU  H'FB'    ; Single-Supply ICSP disabled
_LVP_ON_4L           EQU  H'FF'    ; Single-Supply ICSP enabled

_XINST_OFF_4L        EQU  H'BF'    ; Instruction set extension and Indexed Addressing mode disabled (Legacy mode)
_XINST_ON_4L         EQU  H'FF'    ; Instruction set extension and Indexed Addressing mode enabled

_DEBUG_ON_4L         EQU  H'7F'    ; Background debugger enabled, RB6 and RB7 are dedicated to In-Circuit Debug
_DEBUG_OFF_4L        EQU  H'FF'    ; Background debugger disabled, RB6 and RB7 configured as general purpose I/O pins

y agregar las 2 lineas faltantes...quedando asi :

Citar
;----- CONFIG4L Options --------------------------------------------------
_STVREN_OFF_4L       EQU  H'FE'    ; Stack full/underflow will not cause Reset
_STVREN_ON_4L        EQU  H'FF'    ; Stack full/underflow will cause Reset

_LVP_OFF_4L          EQU  H'FB'    ; Single-Supply ICSP disabled
_LVP_ON_4L           EQU  H'FF'    ; Single-Supply ICSP enabled

_ICPRT_OFF_4L        EQU  H'DF'    ; ICPORT disabled
_ICPRT_ON_4L         EQU  H'FF'    ; ICPORT enabled

_XINST_OFF_4L        EQU  H'BF'    ; Instruction set extension and Indexed Addressing mode disabled (Legacy mode)
_XINST_ON_4L         EQU  H'FF'    ; Instruction set extension and Indexed Addressing mode enabled

_DEBUG_ON_4L         EQU  H'7F'    ; Background debugger enabled, RB6 and RB7 are dedicated to In-Circuit Debug
_DEBUG_OFF_4L        EQU  H'FF'    ; Background debugger disabled, RB6 and RB7 configured as general purpose I/O pins

y CHAU ERROR  :-/

Entonces lo unico que tuve que cambiar en el 18F2550.INC del Pic Bacic Pro fue el reemplazar W= -311 por W= -230 como indico Alberto...y con esto...tampoco hubo WARNINGS  :mrgreen:

En sintesis .....
Editando el 18F2550.INC del MPASM agregando las 2 lineas del _ICPRT....y Editando el 18F2550.INC del PBP cambiando 311 por 230 ....pude compilar y ensamblar el proyecto y generar el .HEX

Por ultimo...me gustaria saber si alguien me puede decir en que puede afectar el cambio de w = -230 en lugar de w = -311
Muchas gracias a todos por lo que me han enseñado...especialmente a Giovanni...y desde ahora paso a ser un humilde colaborador mas a sus servicios

Gracias...y suerte a todos en sus proyectos :)



Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: LordLafebre en 04 de Diciembre de 2007, 17:27:17
Hola:

Finalmente luego de 10 amargos días sin internet  :5] he solucionado el problema y de regreso por aquí.


Me alegro que solucionaste tu problema y ya tienes bien tu proyecto....  :-/ :-/
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: Jorge XV en 09 de Diciembre de 2007, 01:29:54
Jaja...Gracias Giovanni  8) y me alegro de que estes Internetizado de nuevo  :D

Me fue muy util todo lo que aprendi de tus proyectos en tu pagina y lo que pude leer en el viejo y nuevo Foro

Mi proyecto actual se basa en discar DTMF hacia la linea desde la PC por USB y lo consegui manejando un CI discador HT9200 desde el puertoB del pic 18F2550 de tu proyecto enviando los numeros desde un programa en VB6

El tema es que descubri que el mismo PIC puede discar en DTMF utilizando la instruccion DTMFOUT del PBP...la cual es muy sencilla de usar y simplificaria el circuito  :mrgreen:

PEEEEEROOOOOO   :D Hay un pequeño problemilla  :mrgreen:

El Manual del PBP recomienda que para que funcione bien DTMFOUT...el PIC debe trabajar con un cristal de 20 Mhz o a lo sumo 10 Mhz y cualquier otra frecuencia produciria un desvio  que haria fallar el discado  :?

Mi pregunta para ti es......

¿ Puede trabajar ese mismo circuito tuyo con un cristal de 20 Mhz en lugar de 12 Mhz sin afectar la conexion USB ?
En dicho caso...¿ que habria que modificar en el programa del PBP o en el Programador del PIC ?

Desde ya te estare muy agradecido si me ayudas con esto

y desde ya puedes contar conmigo tu y los demas del Foro por cualquier tema relacionado a Interfaces electronicas que es mi tema predilecto

Gracias por todo  ;-)

Posdata : !!! FELICES FIESTAS !!!  :x)
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: LordLafebre 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.
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: Jorge Rendon 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)
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: LordLafebre 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.
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: llalexll 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
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: navaismo 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.
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: Marioguillote 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
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: LordLafebre 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.
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: Marioguillote 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
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: LordLafebre 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 .....
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: Marioguillote 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
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: LordLafebre 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)
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: Marioguillote 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

Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: Marioguillote 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 :

(http://www.servisystem.com.ar/GRAFNUEVO2/ucon.jpeg)

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
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: electronando 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: :-/
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: LordLafebre 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
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: electronando en 15 de Abril de 2008, 00:04:44
Fantastico Giovani dime todo este ejemplo q has puesto en tu pagina lo puedo migrar a el proton es q uso ese soft y quiero incursionar con el,a en tu pagina ya no funcionan algunos link por ejemplo de las fuentes solo el tutorial de pdf q esta buenisimo ; a probe el easyhid y si funciona me saqle el proton gracias
 :-/ :-/
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: LordLafebre en 15 de Abril de 2008, 10:50:17
Hola:

Claro que lo puedes migrar es muy sencillo, son casi iguales.
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: crisaendo en 23 de Mayo de 2008, 18:04:02
SALUDOS A TODOS
ESTAMOS TRABAJANDO CON EL PBP Y VISUAL 6
EL PC YA NOS RECONOCE EL DISPOSITIVO Y EL PROGRAMA EN VISUAL RESPONDE  AL EVENTO ONREAD
EL PROBLEMA QUE TENEMOS A NADIE SE LE HA PRESENTADO POR ESTA RAZON ESTAMOS PARADOS
LO QUE  PASA ES LO SIGUIENTE;
Cuando enviamos un dato del pic al pc o del pc al pic simpre el valor que obtenemos en ambos (pic y pc )  es cero no sabemos la razon si alguno sabe porq nos seria de mucha ayuda.
en otras palabaras siempre leemos cero mandemos el dato que mandemos.

PD los fuses ya estan configurados
     ya tuvimos en cuenta lo del usbservice
     trabajamos con el pic 18f4550
    el pic basic pro no nos genera ningun error de compilacion
   
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: navaismo en 23 de Mayo de 2008, 18:14:15
Y tu programa es....???

Recuerda que los indces deben ser menos uno. Si envias de la PC en el indice 8 en el PIc lo debes leer en el 7
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: crisaendo en 23 de Mayo de 2008, 18:44:52
Y tu programa es....???

Recuerda que los indces deben ser menos uno. Si envias de la PC en el indice 8 en el PIc lo debes leer en el 7

SI CLARO ESO YA LO TUVIMOS EN CUENTA.  LO QUE PASA ES LO QUE DECIA SIEMPRE  LEEMOS CERO MANDEMOS EL VALOR QUE MANDEMOS
ADEMAS EL VISUAL RESPONDE AL on read event... CUANDO EL PIC MANDA ALGUN DATO
Y EL PIC PARECE QUE RESPONDE BIEN A LA FUNCION DoUSBIn CUANDO DESDE EL VISUAL MANDAMOS UN DATO. PERO EL PROBLEMA ES QUE
CUANDO ACCEDEMOS A VISUALIZAR LOS DATOS YA SEA POR MEDIO DE UN LABEL EN EL VISUAL O LA LCD EN EL PIC SIEMPRE NOS MUESTRA EL VALOR CERO Y NO
EL QUE MANDAMOS

TE AGRADECEMOS TU INTERES Y CUALQUIER APORTE NOS SERA DE MUCHA AYUDA
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: navaismo en 23 de Mayo de 2008, 19:04:05
te podremos ayudar si nos muestras el codigo ahora si no quieres mostrarlo te recomiendo hagas pruebas mandando el dato con un boton y recibiendolo con otro en ambas casos, esto para depurar.
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: crisaendo en 27 de Mayo de 2008, 23:07:27
HOLA a todos estuvimos mirando nuestro programa y garcias a un terminal usb HID  que trae el programa de microC for PIC hemos comprobado que el pic esta enviando y recibiendo datos perfectamente pr lo que ya hemos descartado que el problema se encuentra, con esto estamos mas que seguros que el programa se encuentra en el programa de visual.
En este programa lo unico que hacemos es con un boton mandar el dato al pic y mostrar en un label cualquier dato mandado por el pic .

Cuando corremos el terminal de microC JUNTO CON EL PROGRAMA DE vISUAL  este funiona perfectamente enviando y recibiendo datos del Pic sin enbargo el sencillo programa de Visual  siempre lee cero y envia cero al pic

Por lo pronto ya descubrimos que el programa del Pic esta perfecto  y el error esta en el visual.
SI ALGUIEN SABE PORQ NOS SERIA DE MUCHA AYUDA.
no hemos subido el programa en visual porq sencillamente es lo que en trega el wizard mas un label y un boton muy sencillo.
Por esta razon no entendemos cual sera el probelma .

Agradecemos su colaboraciones.
 
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: navaismo en 29 de Mayo de 2008, 12:11:27
El USBBUFFEROUT e IN estan declarados como BYTE en el Visual BASIC, y otra seria buena volvieran a generar el codigo para descartar que el VID y el PID esten fallando.
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: crisaendo en 29 de Mayo de 2008, 16:34:46
El USBBUFFEROUT e IN estan declarados como BYTE en el Visual BASIC, y otra seria buena volvieran a generar el codigo para descartar que el VID y el PID esten fallando.

Tienes toda la razon navaisimo ayer nos dimos cuenta que el problema es justo el que mencionas.
En otras palabras no habiamos declarado como byte el  USBBUFFEROUT e IN  ya despues de haber hecho esa correccion
el programa funciono perfectamente. agradecemos tu ayuda ya que al igual que nosotros resolviste el problema.

OTRA cosa: fue de mucha ayuda utilizar el terminanl HID que nos proporciona el programa MICROC ya que conesto supimos que el programa estaba en el visual y asi
lo pudimos corregir

PDD = gracias navaismo por  el interes
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: navaismo en 29 de Mayo de 2008, 16:39:20
Que bueno que se haya solucionado.
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: macedo en 05 de Noviembre de 2008, 21:58:03
Hola tengo ganas de ponerme a programar un2550 con USB y estoy escuchando mucho de una placa entrenadora la TP-2550 alguien me la podria enviar o dejar para bajarla
Gracias
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: navaismo en 05 de Noviembre de 2008, 22:04:57
Hola la placa es propiedad de LordLafebre, esta dsiponible en el otro foro donde ya nos comentaste la duda en www.micros.mforos.com Para bajarla lo uncico que tienes que hacer es tener 7 post "utiles" no spam.

Saludos.
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: PCONDE en 05 de Diciembre de 2008, 16:48:44
Hola a todos

Soy nuevo en el foro, tengo problemas al momento de compilar el archivo TP2550.pbp, tengo el PBP 2.46 (MicroCode Studio 3.0.0.5), el MPASMWIN 5.03.

Descargué el TP2550.hex al pic y luego ejecuté el programa del mismo nombre en VB6, y funciona muy bien. 

Mi problema empieza al momento de querrer compilar el TP2550.pbp,  el compilador me manda mensajes de error (no jala el compilador)

me manda estos mensajes de error
Error(113) c:/picbasicpro/usb18.asm  1071 : Symbol not previously defined (TRNIF)  ( Se repite 5 veces )

Error(113) c:/picbasicpro/usb18.asm  1071 : Symbol not previously defined (TRNIE)

Alguien sabe que esta pasando ????

Necesito su ayuda, gracias
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: emula en 29 de Diciembre de 2008, 22:40:31
Hola gente..

Bueno PCONDE igual me esta sucediendo a mi.. aunq con otros errores.  :shock:

Estoy siguendo la guia del amigo LordLafebre para hacer el programa para la PIC pero a la hora de compilar me esta dando errores.

pensaba que era mi programa pero al usar el tp2250.pbp me sigue dando el error.

http://img222.imageshack.us/img222/1295/errorjo5.jpg

a ver que podira ser???
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: MiCrOtRoNiC en 29 de Diciembre de 2008, 22:58:10
emula segun la imagen anexa estas tratando de compilar con el pic16f877 este no soporta usb tienes que cambiar a pic18f2550 o 4550...
por eso te da ese error..
saludos
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: emula en 29 de Diciembre de 2008, 23:51:53
emula segun la imagen anexa estas tratando de compilar con el pic16f877 este no soporta usb tienes que cambiar a pic18f2550 o 4550...
por eso te da ese error..
saludos

SI segun la imagen es asi compadre, pero ya modifique eso. y aun nada.

aca anexo el .Pbp, para que vos veais.. como dicen los maracaiberos. :D
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: MiCrOtRoNiC en 30 de Diciembre de 2008, 01:08:29
revisa la configuracion del microcode...
la ruta del archivo .pbp no pudee ser muy larga trata de colocarla en la raiz del disco c en llegado caso que este instalado hay..... y configura para compilar en opciones la integracion del mplab...

reinica a ver..

edit..
lo otro que puedes ahcer es incluir las librerias en el directorio donde teines el .pbp...18F4550.INC, PBPPI18L.LIB...
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: emula en 30 de Diciembre de 2008, 12:16:26
 :-/ :-/ :-/ :-/ Listo, problema solucionado.

Lo que hacia falta eran los archivos que comenta el amigo navaismo en el tema http://www.todopic.com.ar/foros/index.php?topic=13412.0

Solo hay que verificar que en View --->Compile and Program Options, que tu compiler sea tu PBP (en mi caso es el PICBASIC PRO 2.46) y en el Assembler usa MPASM por defecto que trae. De todos modos coloque la carpeta del MPASM V4.01 que descargue.

Cree la carpeta en la raiz del disco C:\ y ademas de los archivos que se genera en el EasyHID:

XXXX.pbp
XXXX.asm                                              Nota: XXXX es el nombre que le pusiste en easy
USBDESC.asm
DESCXXXX.asm

anexe estos

18F2550.bas
USB18.asm
USB18.ini
USB18Mem.asm

como comenta navaismo.

Y por fin el Perol compilo y creo el bendito .hex

Ahora a probarlo en Proteus a ver que tal... aunque me esta pidiendo el Driver. Se que los dispositivos HID no necesitan Driver, asi que es de esperar que al montarlo fisicamente no lo pedira, pero debe ser custión de proteus.


Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: Mc Guiver en 13 de Julio de 2009, 20:24:57
Estimados piclisteros:

¿Cual es la principal diferencia entre un pic común y uno usb? ¿se puede operar on line como el picaxe? porque cada vez que tengo que corregir el programa o cambiar una constante lo tengo que sacar del robot y enchufarlo en el programador, una vez corregido hacer lo contrario, sacarlo del programador y enchufarlo en el robot y asi todo el dia hasta que logro lo que necesito que haga y me vuelvo loco y hasta se me cortan los pines del pic. ¿hay alguna manera de programar on line?
gracias
saludos
Mc. Guver
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: kraneak en 15 de Julio de 2009, 02:38:38
hey!! un saludo a todos
estoy empezando con esto de la comuicacion por usb estoy utilizanso el easyhid pero necesito un ejemplo pero para visual c++
espero y me puedan ayudar
y de una ves grasias!!
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: mauriciodelpino en 27 de Julio de 2009, 00:38:10
Estimado lordlefebre no se como podria hacer para hacerme de los pasword dels archivos que subiste a tu pagina web con respecto a este tema
http://www.freewebs.com/glafebre/articulos.htm
ya estoy registrado en miarroba pero cuando le doy click en bajar  los archivos de texto del pasword me dice que no tengo nivel suficiente
desde ya muchas gracias
si no es posible me lo envies pues no hay problemas
saludos
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: mauriciodelpino en 27 de Julio de 2009, 13:44:37
estimado lordlefebre ahora lei las reglas de tu foro y me di cuenta que no basta estar registrado sino tambien tener 7 mensajes al menos
disculpa las molestia ocasionada ntentare postear  y luego baja re los pasword  :D :D :mrgreen:
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: Mc Guiver en 18 de Mayo de 2010, 00:59:59
Estimados piclisteros:
Estoy probando interrupciones por rb7 a rb4. Con rb7 todo bien, con rb6 un poco peor, con rb5 y rb4 nada de nada, en que le puedo estar errando?
Acá está el programita de pruebas:

trisa=%00000000
trisb=%11110000

porta=0
portb=0
symbol led= portb.2

       

        On Interrupt Goto myint ' Define etiqueta de interrupción
        INTCON =%10001000          'habilita interripción en portb.7 ;
                                   'en portb.6 mas o menos y en 5 y 4 nada
loop:   High led               
        Goto loop               

' Interrupt handler
        Disable                 ' No interrumpe pasando este punto
myint:  Low led                 
        Pause   500             
        INTCON.1 = 0            ' Clear interrupt flag
        Resume                  ' Return to main program
        Enable


 Atte. Mc Guiver
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: agauss en 25 de Julio de 2010, 11:00:34
Mi primera experiencia con este par de programas fue hace como 2 años gracias a un documento que encontre en la red y cuya autoria es de LordLafebre; la verdad fue de gran ayuda asi que un saludo. Desde entonces he hecho algunas practicas, desde muy simples hasta algo complicadas (si alguien se interesa en ejemplos basicos con gusto podria subir algo). En todo caso todos estas practicas siempre han sido usando VB (tambien podrian ser DELPHI o MVC++), asi que me pregunto si alguno ha logrado hacer la comunicacion con otros programas como por ejemplo LabVIEW o MATLAB directamente usando la libreria mcHID.dll

Saludos...
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: tongaston en 28 de Agosto de 2010, 12:19:43
Agauss, hace rato que vengo acumulando interes en el tema de la comunicacion usb pero como no se absolutamente nada de ningun lenguaje de pc ni lo intente, pero creo que llego la hora de aprender, si tenes por ahi algo simple, y digo simple por que no te voy a pedir que me regales un laburo complejo, pero cualquier cosa viene bien, bueno si tenes algo armado, el soft en vbasic, el cod del pic y el esquematico del pcb como para empezar a ver de que se trata y por ahi ir haciendo pequeñas modificaciones como para ir aprendiendo te voy a estar muy agradecido, saludos
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: Chrisbaf en 30 de Agosto de 2010, 12:20:52
igualmente me uno a la peticion de el anterior post para aprender con la practica no solo copiar y pegar cualquier ayuda se te  agradece .
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: Sacahe en 13 de Septiembre de 2010, 13:23:01
Hola amigos!!!

Me acabo de introducir en este tema de la comunicacion USB con PIC y me ha dado y me sigue dando momentos de estres y a la vez de entusiasmo por seguir aprendiendo y lograr el objetivo de hacer mi primer proyecto.

Primero fue todo un rollo lograr compilar exitosamente el codigo generado por el easyHID, cada intento me daba como resultado los errores que todos ya han comentado, dos dias me heche para conseguirlo. Me fue de gran ayuda los comentarios de los duros que postearon anteriormente y me da satisfaccion porque ya es un paso que me permite avanzar.

La manera en que lo consegui quiero compartirlo, porque estoy muy seguro que a los que apenas van a iniciar esta experiencia les sera de gran utilidad:
- Hacemos lo normal de instalar el McSP y el PPB, en mi caso utilizo las versiones "3.0.0.5" y "2.5" respectivamente
- Al instalarse el PBP asegurarse que quede en la unidad C, de este modo "C:\PBP"
- Descargue el MPASMWIN de la pagina "http://picbasic.com/support/mpasm.htm", luego cree un directorio con el nombre "MPASM" y lo ubique en tambien en la  unidad C quedando asi "C:\MPASM", en este directorio creado ubique el MPASMWIN que descargue, en mi caso la version 5.20.
- En el MCSP, me fui a la opcion "Compile and Program Options" y busque manualmente el PBP y el MPASmWIN, en los directorios en que anteriormente los guarde.
- Se genera el programa base con el easyHID. Este crea dos carpetas, pero la que interesa en este punto es la carpeta en donde se genera el programa para nuestro PIC, que es por defecto la "PICBasicPRO"
- Copie el archivo "18F2550.bal" ubicado en "C:\PBP\USB18" y lo pegue en la carpeta donde se genero nuestro programa ""PICBasicPRO"
- Compile y listo!!!!

Todo bien hasta aqui, pero ahora tengo el inconveniente de que el PC no reconoce al PIC cuando los conecto. Estoy casi seguro que este problema se debe a la configuracion del oscilador. Dado que cuento con el programador PICKit2 v2.52 y este no me permite configurar el oscilador como se hace con el WinPic800.

Mi inquietud es como hago esta configuracion desde el mismo programa .pbp si estoy utilizando un cristal de 12MHz?


Bendiciones para todos!!!
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: Sacahe en 18 de Septiembre de 2010, 16:15:10
ola amigos en el post anterior olvide mencionar que es necesario copiar los archivos que estan adjuntos, en la carpeta donde se guarda nuestro programita del PIC

 :-/ Realmente quiero comentarles que ya logre que el computador reconociera al PIC como dispositivo HID  :-/

Dado que el soft del PICKit2 no me permite cambiar los bits de configuracion y por ende no me permite establecer el valor de cristal de entrada como lo hace el winpic800, ya que el cristal de mi estrenador es de 12Mhz me figuro jugar con las librerias. En la libreria 18F2550.INC ubicada en la carpeta de PBP tuve que cambiar lo siguiente:

        NOLIST
    ifdef PM_USED
        LIST
        "Error: PM does not support this device.  Use MPASM."
        NOLIST
    else
        LIST
        LIST p = 18F2550, r = dec, w = -311, w = -230, f = inhx32
        INCLUDE "P18F2550.INC"   ; MPASM  Header
        __CONFIG    _CONFIG1L, _PLLDIV_5_1L & _CPUDIV_OSC1_PLL2_1L & _USBDIV_2_1L
        __CONFIG    _CONFIG1H, _FOSC_HSPLL_HS_1H
        __CONFIG    _CONFIG2H, _WDT_ON_2H & _WDTPS_512_2H
        __CONFIG    _CONFIG3H, _PBADEN_OFF_3H
        __CONFIG    _CONFIG4L, _LVP_OFF_4L & _XINST_OFF_4L & 0DFh
        NOLIST
    endif
        LIST


La opcion resaltada la cambie por _PLLDIV_3_1L , programe, conecte y listo!!!

Ahora terminar el programita y revisar el programa del PC en Visual Basic o implementar uno en LabView, luego les comento...
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: guillo96 en 17 de Octubre de 2010, 21:19:39
hola amigos, que tal! bueno les comento,hice una plaquita para e 18f4550, estaba jugando y me olvide que por programación tenia que estar dos entradas habilitadas para que funcione, entonces como tengo un motor conectado, pense que murio el motor, y conecte la batería directamente a las borneras de este (grave error en una serie de errores), y funciono, pero para el rato que quería conectar el usb, ya no dio señales de conexión ni nada, que creen que se pudo haber dañado o quemado? gracias por su tiempo
saludos
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: xalapi en 16 de Febrero de 2011, 15:19:29
HOLA, MUCHAS GRACIAS POR EL TEMA, ESTOY HACIENDO UNA TARJETA DE ADQUISICION DE DATOS, CON PIC 18F4550 Y COMUNICACION USB, EL MODELO DE TUTORIAL ES DE GRAN AYUDA, PERO TODAVIA ME QUEDAN ALGUNAS DUDAS,

-ESTOY UTILIZANDO LOS 8 CANALES ANALOGOS, PUERTO D COMO ENTRADAS DIGITALES, BUENO ESO SON ALGO DE 9 BYTES QUE SE TENDRIAN QUE ENVIAR A LA PC, ELE EJEMPLO QUE MOSTRARON EN EL PDF SOLO ENVIA UN BYTE, POR FAVOR ME PODRIAN EXPLICAR.

-PUERTO B COMO SALIDAS DIGITALES, USARE TAMBIEN LOS MODULOS CPP1 Y CPP2, PARA HPWM, ESOS SERIAN TAMBIEN 3 BYTES QUE TENDRIA QUE RECIBIR EL PIC.

-USARE UN CRISTAL DE 20MHZ Y YO PROGRAMO CON PICKIT 2.0
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: pimpedadrian en 03 de Noviembre de 2011, 20:56:08
Hola a todos soy nuevo en esto del la conexion usb-pic

he usado el easyhid ya hice el programa en proton ide y me lo compila bien.
 
ya lo queme en el pic y cuando lo conecto al usb en la computadora me marca como dispositivo desconocido. :?

 me podrian ayudar con este problema?

gracias
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: rina en 15 de Enero de 2012, 11:51:20
madre. leyendo este pos, como se desvio el enfoque..

me interesva conectar un pic 16f876 por usb, se que no dispone de un terminal especializado para usb. pero me conformaba conque la informacion la trasmitiera por ds0 ds1. seria posile hacer una trasmision mediana mente curiosa con ello por usb? si es asi. alguno save protocolos basicos que requereria windows para identicicarlo??

un saludo de antemano
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: jrody en 27 de Enero de 2012, 22:49:37
Hola amigos. Primero que nada no se si estoy en el tema adecuado.

Estoy Corriendo unos programas con el Microcode Studio 3.0 y PBP 2.6
Pero al momento de compilar me manda uno Warn. a ver si alguien me puede decir por que son estos Ward.

Anexo los mensajes de warn que me manda.

Warn GP-V12.ASM 1459 :  [102] code crosses bounday @ 800h
Warn GP-V12.ASM 2712 :  [102] code crosses bounday @ 1000h 
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: Mushito en 12 de Abril de 2012, 12:44:28
 (((:-)))
Felicitaciones a los moderadores, autores y participantes de este tema, es de gran ayuda para investigar y empezar con USB y HID con un lenguaje tan fácil de entender como lo es PBP.
Por favor alguien pudiera subir tutorial en PDF del Master Lafebre, intente bajarlo de la primera pagina de este tema, pero el link ya esta roto por denuncia de no se quien.
Saludos, abrazos a todos.
Gracias!
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: Mushito en 13 de Abril de 2012, 17:42:51
 :-/
Ya pues, que alguien suba el PDF de master Lafebre
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: Mushito en 17 de Abril de 2012, 17:28:05
Bueno, nadie me responde....
Estoy intentando solito y me da el siguiente error y varios warnings.
Error{113} c:\archiv~1\micode\mcsp\pbp\18f2550.inc24:Symbol not previusly defined (_ICPRT_OFF_4L)
ojala alguien me lea y me responda
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: Mushito en 17 de Abril de 2012, 17:58:48
Ya no se preocupen en responder y ayudar.
Solucion.
Copiar y modificar el archivo 18f2550.inc segun muestra Sacahe (hacer los cambios) y listo.
Estoy felicote  :-)
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: Mushito en 17 de Abril de 2012, 18:08:02
Hasta aqui todo ok, genera el bendito hex, ahora seguiré las instrucciones de esta página, solo que no usare protón, usare PBP y VB60 jeje
http://protonbasic.wordpress.com/usb/usb-hid/
Luego les comento si funciona.
 :-/
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: sebasferro en 04 de Junio de 2012, 05:56:48
Saludos,  Estoy trabajando con el PIC18F2550 para mi proyecto de grado y resulta que tengo problemas con el reloj... Les comento que yo no uso el módulo USB pero creo que ustedes me podrían ayudar con el reloj.

Estoy usando un cristal de 40MHz, todo mi programa lo escribí con esa frecuencia, al simularlo no tengo problemas, pues Proteus deja configurar la frecuencia del reloj directamente en las propiedades del micro, pero en la practica se presentan inconvenientes... una señal que tengo de periodo 1 segundo, en la realidad va a cerca de 3 segundos, es decir que el PIC esta trabajando casi que a 13.33 MHz y no entiendo porque. Después de revisar muchas veces el datasheet, estoy por pensar que no se pueden usar cristales de mas de 24MHz, frecuencias mayores si, pero no provenientes de cristales. Pues en la tabla 2.3 OSCILLATOR CONFIGURATION OPTIONS FOR USB OPERATION del datasheet, muestran que cuando se trabaja con una frecuencia de entrada de 40MHz el modo de reloj escogido debe ser EC o ECIO, pero no muestran la opción de HS o XT, como si lo hacen en las frecuencias de 24Mhz para abajo...   La solución que yo encuentro es pasar mi código a 48MHz y trabajar con un cristal de 20MHz en compañia del PLL para generar una frecuencia de trabajo del Micro de 48MHz, eso SI Y SÓLO SI es cierto que no puedo usar un cristal de cuarzo de 40MHz como reloj externo, pero de ello aun no estoy seguro... ¿Ustedes que opinan? ¿Alguien lo ha trabajado con un cristal de 40MHz y ha tenido éxito?
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: terminator56 en 14 de Junio de 2012, 00:03:39
:-)
Bueno la idea de este post es que entre todos podamos crear una especie de tutorial de como usar el USB de nuestra PC y conectarlo a los pics que soportan USB (18F2455,18F2550,18F4455 y 18F4550) obviamente para hacer esto necesitaremos herramientas cuales?

  • El mas importante el easyHID que nos da mecanique (http://www.mecanique.co.uk/products/usb/easyhid.html)
  • Que nuestro MCS soporte los pics
  • y que tengamos un programador que tambien soporte los pics

Bueno una vez teniendo eso empecemos. Aqui en el foro tenemos varios ejemplos de conectar un pic al usb sobre todo con el 18F2550; sus medios de interfaz son normalmente la placa GTP USB LITE o tambien en conexiones como nos pone de ejemplo el mismo easyHID.

Un ejemplo excelente para no variar, es del amigo LordLafebre en la seccion de robotica con su bot Eleazar y tambien el de J1M que es un ejemplo de sumar pero ese en  CCS.

Algo importante en este pseudoTUTO es saber que es lo que nos entrega el USB osea preguntemos ¿podemos mandar datos? ¿de que tipo? ¿su funcionamiento es similar al puerto serie (en este podemos enviar numeros, letras, cadenas etc)?


Bueno por lo pronto tratare de encontrar mas informacion para ampliar esto y tambien tratare de hacer algo un ejemplito o  entender los ejemplos mencionados para empezar de cero.

Por lo pronto un link de lo que es el usb.
http://www.monografias.com/trabajos11/usbmem/usbmem.shtml

Tambien un documento les adjunto.






Disculpen, pero es mi primer ingreso al foro, dondeestoy seguro aprenderé mucho. Pero pueden ayudarme e indicarme cómo colocar un nuevo tema en el Foro? Gracias y saludos desde Lima-Perú.

Terminator.
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: dogflu66 en 16 de Junio de 2012, 07:27:59
Aquí no se puede, porque esto es un tema o hilo de foro.
Tienes que irte al subforo relacionado con el tema que quieres exponer, una vez que estás en el subforo adecuado ya te sale la pestaña “ Nuevo Tema”, la seleccionas y tan solo tienes que rellenar la plantilla que te sale. Recuerda que no se debe abusar de las mayúsculas ni caritas y preocuparse por las normas ortográficas, de otro modo el buscador del foro no será tan eficaz y los mismos foreros huirán de tu tema, ya que la mala redacción y las faltas ortográficas se contagian.
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: fil123 en 06 de Mayo de 2013, 01:37:24
oigan, necesito su ayuda urgente, mi problema es el siguiente, ademas de no saber como se empieza un nuevo tema en este foro (soy nuevo), tengo problemas al prigramar el pic18f2550, en microcode studios, lo que pasa es que cuando quiero compilar me salen ciertos errores, no son de compilacion si no que no tengo las librerias o algo asi, ya descargué el mplab para utilizar el mpasmwin con el microcode studios, pero aun asi me siguen saliendo errores, diganme porfavor como le puedo hacer para que ya no me salgan errores, si me lo pudieran explicar con videos estaria mucho mejor, mi correo es rosas89@live.com.mx de antemano muchas gracias. espero sus respuestas
Título: USB y picbasic compiler 2.6 para pic18f2550
Publicado por: SYLA0285 en 25 de Agosto de 2014, 06:03:03
:-)
Bueno la idea de este post es que entre todos podamos crear una especie de tutorial de como usar el USB de nuestra PC y conectarlo a los pics que soportan USB (18F2455,18F2550,18F4455 y 18F4550) obviamente para hacer esto necesitaremos herramientas cuales?

  • El mas importante el easyHID que nos da mecanique (http://www.mecanique.co.uk/products/usb/easyhid.html)
  • Que nuestro MCS soporte los pics
  • y que tengamos un programador que tambien soporte los pics

Bueno una vez teniendo eso empecemos. Aqui en el foro tenemos varios ejemplos de conectar un pic al usb sobre todo con el 18F2550; sus medios de interfaz son normalmente la placa GTP USB LITE o tambien en conexiones como nos pone de ejemplo el mismo easyHID.

Un ejemplo excelente para no variar, es del amigo LordLafebre en la seccion de robotica con su bot Eleazar y tambien el de J1M que es un ejemplo de sumar pero ese en  CCS.


Algo importante en este pseudoTUTO es saber que es lo que nos entrega el USB osea preguntemos ¿podemos mandar datos? ¿de que tipo? ¿su funcionamiento es similar al puerto serie (en este podemos enviar numeros, letras, cadenas etc)?


Bueno por lo pronto tratare de encontrar mas informacion para ampliar esto y tambien tratare de hacer algo un ejemplito o  entender los ejemplos mencionados para empezar de cero.

Por lo pronto un link de lo que es el usb.
http://www.monografias.com/trabajos11/usbmem/usbmem.shtml

Tambien un documento les adjunto.







Que tal navaisimo soy nuevo en el foro y me he encontrado con que el tema que discuten aqui me sirve mucho para lo que estoy haciendo te explico mas o menos la idea general, estoy intentando programar un sensor resisitivo de alta resolución y me interesa manejar variables tipo long para llevar a cabo un calculo con una ecuacion que hace una equivalencia de nivel de RCTIME = Distancia, de ahi que haya optado por utilizar un pic 18f2550 que incluyen la capacidad de manejar dichas variables no he visto que otros pics puedan servirme para manejar floats, ahora ya programando este pic he intentado empezar desde cero mandando solo un mensaje en el LCD  para después llevar a cabo mi cometido con el sensor, como ya he leido en este foro tengo el siguiente problema:

Tengo el Microcode Studio con el compilador de 2.5 y 2.5L pero al parecer para compilar el 18f2550 requiero el compilador 2.6 en adelante (por lo que he leido), de igual forma me he dado a la tarea de leer lo que pones al respecto del easyHID y no lo puedo ya descargar por que ya no aparece en la liga, mis dudas son:

1) Se puede manejar decimales de manera precisa sin utilizar el pic18f2550 o cualquiera USB?
2) Donde podría encontrar el compilador 2.6.
3) Ya he realizado los cambios a los archivos INC y ASM que muestran en el tema y me sigue sin funcionar que otra cosa podría ser?


Agradezco de antemano la ayuda, ya hace mucho que no entraba al foro pero es bueno estar de regreso un saludo!!
Título: Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
Publicado por: dogflu66 en 26 de Agosto de 2014, 12:23:44
Los tipos de variables y la exactitud de los cálculos no dependen en general del microcontrolador, dependen del compilador usado.
El microcontrolador normalmente puede influir en que los cálculos sean más o menos rápidos según la familia y, si el micro tiene la memoria muy reducida puede que no permita alojar en él los algoritmos matemáticos necesarios para realizar estos cálculos.