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

Temas similares

24/02/2012 #1921

Avatar de dinoelectro

Tecnico 93 ha publicado un DAQ de tipo HID muy bueno y una tarjeta PCB que es una belleza merece la pena que lo revicen

Como activar entras digitales y salidas analogas en pic 18f4550
27/02/2012 #1922

Avatar de albermillan69

dinoelectro dijo: Ver Mensaje
aunque de antemano te digo que no me gusta mucho su rendimiento; ya que la velocidad de adquisicion es lenta y ademas la comunicacion CDC se pierde.. seria bueno pensar en construir una parecida utilizando HID... yo me apunto para lo que pueda colabolarles.. saludos!!
Dinoelectro, sera que estas haciendo algo malo en la configuracion del CDC o en la adquisición de los datos, porq la verdad yo utilizo frecuentemente en mis proyecto el CDC y funciona perfecto, claro yo hago mi interfaz visual con Visual Basic 6, y donde si debo estar muy pendiente es en leer el o borrar el buffer del PIC antes que se sature, asi si pierde conexion o no funciona adecuadamente.

Revisa tu programacion, cualquier cosa por aca siempre estamos a la orden, el HID es la conexion mas lenta en USB, solo q no necesitas dirver para instalar, en caso tal si lo q quieres es aumentar tu comunicacion, puedes usar el BUlk, la verdad es muy bueno, pero tiene sus ventajas y desventajas tambien.

Saludos desde Venezuela. y podemos crear un buen grupo de trabajo entre varios miembros del foro, para desarrollar nuevos proyectos.
27/02/2012 #1923


A mi nunca me respondieron :(
27/02/2012 #1924

Avatar de dinoelectro

albermillan69 dijo: Ver Mensaje
Dinoelectro, sera que estas haciendo algo malo en la configuracion del CDC o en la adquisición de los datos, porq la verdad yo utilizo frecuentemente en mis proyecto el CDC y funciona perfecto, claro yo hago mi interfaz visual con Visual Basic 6, y donde si debo estar muy pendiente es en leer el o borrar el buffer del PIC antes que se sature, asi si pierde conexion o no funciona adecuadamente.

Revisa tu programacion, cualquier cosa por aca siempre estamos a la orden, el HID es la conexion mas lenta en USB, solo q no necesitas dirver para instalar, en caso tal si lo q quieres es aumentar tu comunicacion, puedes usar el BUlk, la verdad es muy bueno, pero tiene sus ventajas y desventajas tambien.

Saludos desde Venezuela. y podemos crear un buen grupo de trabajo entre varios miembros del foro, para desarrollar nuevos proyectos.
estas en lo cierto, la comunicacion CDC, es buena y segura.. en muchos proyectos me ha funcionado a la perfeccion,.. yo me referia a este proyecto del DAQ con 18F4550, que me descargue de www.sixca.com. ahi no dan el codigo solo el *.hex, el daq funciona pero hay veces que la comunicacion se corta...

yo sabia que HID es mas rapido que CDC... almenos eso es lo que investigado

saludos amigo.
27/02/2012 #1925

Avatar de albermillan69

oeg2 dijo: Ver Mensaje
A mi nunca me respondieron :(
Cual fue tu pregunta? y disculpa!!

Dinoelectro: Ahhh ok asi si... pero yo siempre he tenido entendido q el CDC es el de media velocidad
27/02/2012 #1926


Que solo queria hacer un prograra con CDC (que no lo pude utilizar) en PIC C que contara los pulsos de entrada por minuto de tres pines (o tres cosas) y lo mandara a usb cada minuto. Gracias y saludos, en la pestaña número 96 creo que esta el programa que "habia intentado hacer" pero no pude y lo hice con HID, pero queria aprender con CDC.
27/02/2012 #1927

Avatar de albermillan69

oeg2 dijo: Ver Mensaje
Que solo queria hacer un prograra con CDC (que no lo pude utilizar) en PIC C que contara los pulsos de entrada por minuto de tres pines (o tres cosas) y lo mandara a usb cada minuto. Gracias y saludos, en la pestaña número 96 creo que esta el programa que "habia intentado hacer" pero no pude y lo hice con HID, pero queria aprender con CDC.
El CDC es mas facil q el HID, solo debes saber hacer la configuracion correcta como en todo lo q se haga en un PIC, aqui puedes encontrar una muy buena explicacion sobre como hacerlo.

http://picmania.garcia-cuervo.net/us...ctransfers.php

Recuerda que uno aprende a caminar es gateando y luego perfecciona la tecnica, que quiero decir con esto? que si consigues a alguien q te haga el programa, tu no vas a aprender a hacerlo ni a resolver los problemas q se te presenten posteriormente, por eso es mejor, aprender por si mismo, pero si se te presentan dudas, aqui en este tema, al comienzo, estan las explicaciones de la comunicación CDC, te lo digo porq es el foro y la pag q busco cuando se me olvida como hacerlo, porq me la paso programando a diario!!

Yo considero q la comunicación CDC es mas fácil de configurar que la HID, por eso se te debe hacer mas fácil ahora la programación!!! Saludos... Cualquier cosa, has la pregunta mas directa!! no decir q no funciona!! porque sino seria mas difícil darte respuesta!!

Espero que con mis palabras no ofenda a nadie, pero el gran valor de la programación va es en el conocimiento que cada programa nos deja!!!
27/02/2012 #1928


Gracias Albermillan69! es que me urgía un poco por eso habia puesto el código de lo que habia echo, voy a probar ya que si deces que la CDC es mas facil que HID me imagino que es demasiado fácil, ya que la HID no sentí que fuera tan dificil (solo horas y horas de lectura y practica) pero a la hora de entender muy facil, gracias y lo que quería era correción de mi código que puse en la pestaña 96, y si en caso tienes algun material de apoyo te agradeceria enormemente, saludos!!
27/02/2012 #1929

Avatar de albermillan69

oeg2: Yo habia leido tu mensaje, pidiendo la ayuda, pero la verdad estaba muy ocupado, aun lo estoy un poco, pero como te dije, la informacion estan en la pag q te pase y en el principio de este foro, a diferencia del HID con el CDC debes tener un driver, que te va hacer la comunicacion entre el PC y el PIC, por eso quizas vez mas facil el HID, porq es la interfaz humana, como un Mouse, que tu no instalas los driver sino el solo lo hace!!! es mas practico el HID en ese sentido, pero con CDC puedes hacer mas!!

En fin, ya que ahora tienes mas tiempo para aprender, te invito a que trates de hacer la comunicacion CDC y nos avisas como te fue, aqui te voy a dejar partes del ultimo programa q realice con CDC, funciona perfecto!!

Programa:
//Este es para un cristal de 20MHz
#include <18f4550.h>
#FUSES HSPLL, NOPROTECT, BROWNOUT, BORV28, NOPUT, NOCPD, NOLVP, LPT1OSC, NOPBADEN, USBDIV, PLL5, CPUDIV1, VREGEN
#use delay(clock=48000000)

//Librerias
#include "usb_cdc.h" // Descripción de funciones del USB.
#include "usb_desc_cdc.h" // Descriptores del dispositivo USB.

//luego dentro del Void main() colocas
//Configura el USB
usb_cdc_init();
usb_init();

//Y tu ciclo infinito va a ser algo asi
While(true){
usb_task();

//Si esta conectado al HUT
while(usb_cdc_connected()){
//OFF(Rojo);
//ON(Verde);
delay_ms(500);
//Si el dispositivo NO esta enumerado
while(!usb_enumerated()){}
//Si se envia algun dato
car=0;
while(usb_cdc_kbhit()){ //Mientras exista algo en el Buffer de entrada


OJO: son partes de la logica del programa que yo realice, asi me funciona perfectamente, las librerias son las que trae el CCS, pero ya las mias están personalizadas!! el driver, creo q tambien lo trae el CCS.

Cualquier cosa, pega un grito!!! Saludos desde venezuela, de donde eres tu??
27/02/2012 #1930


Gracias albermillan69! voy a ver un poco de esto y te cuento, gracias por tu interés y saludos desde el país de la eterna primavera, Guatemala! voy a ver un poco y si puedes mandarme un saludito a mi correo para tenerte en mis contactos, saludos!
27/02/2012 #1931

Avatar de dinoelectro

hay una plantilla que se instala en visual basic 2005/2008/2010 para realizar proyectos con HID; no la he utilizado pero apenas tenga tiempo les comento; por ahora dejo el link para que la bajen

http://helmpcb.com/software/usb-hid-...ual-basic-2005
Imágenes Adjuntas
Tipo de Archivo: png vbtemplate.png (14,6 KB (Kilobytes), 22 visitas)
17/03/2012 #1932


Hola, buenas noches.

Muy buen code!
Estoy tratando de hacer unas modificaciones y me encuentro con un problema. A ver si pueden ayudarme:
Resulta que el HEX que nuestro compañero nos compartió, funciona de maravillas. El problema me aparece cuando compilo con mi CCS y crea el nuevo HEX. El código compilado está tal cual lo compartió nuestro amigo. Por algún motivo Windows no me reconoce el PIC y lo registra como "Dispositivo Desconocido". Me fijé en las propiedades y veo que el VID&PID llegan con 0000. En adjunto les dejo las capturas de cómo Windows registra uno y otro.
Lo que me parece raro es que el código está compilado tal cual nos lo compartió nuestro compañero. No sé si se puede tratar de una configuración mala del CCS o, incluso, de la versión. Probé con la 4.068 y la 4.104, y en ambas obtuve el mismo resultado.

A alguien le pasó algo similar?

Agradezco de antemano su ayuda.

Saludos!
Imágenes Adjuntas
Tipo de Archivo: jpg HEX_COMPILADO_CON_CCS.JPG (23,0 KB (Kilobytes), 24 visitas)
Tipo de Archivo: jpg HEX_ORIGINAL.JPG (22,8 KB (Kilobytes), 15 visitas)
17/03/2012 #1933


cristiancrm dijo: Ver Mensaje
Hola, buenas noches.

Muy buen code!
Estoy tratando de hacer unas modificaciones y me encuentro con un problema. A ver si pueden ayudarme:
Resulta que el HEX que nuestro compañero nos compartió, funciona de maravillas. El problema me aparece cuando compilo con mi CCS y crea el nuevo HEX. El código compilado está tal cual lo compartió nuestro amigo. Por algún motivo Windows no me reconoce el PIC y lo registra como "Dispositivo Desconocido". Me fijé en las propiedades y veo que el VID&PID llegan con 0000. En adjunto les dejo las capturas de cómo Windows registra uno y otro.
Lo que me parece raro es que el código está compilado tal cual nos lo compartió nuestro compañero. No sé si se puede tratar de una configuración mala del CCS o, incluso, de la versión. Probé con la 4.068 y la 4.104, y en ambas obtuve el mismo resultado.

A alguien le pasó algo similar?

Agradezco de antemano su ayuda.

Saludos!
Talvez te esta agarrando un driver que ya tenias, eso me paso a mi, habia echo pruebas con un ejemplo de J1M algo asi ya no recuerdo, despues compilé con otro VID y otro PID y me seguia jalando ese driver, prueba en otro puerto usb o desinstala todos los contralores que habias instalado para ese tipo de pruebas de CDC con tu PIC (por lo que veo que estas trabajando) y siempre revisa en el archivo usb_desc_cdc.h de tu libreria de CCS si no esta diferente, esto esta en las primeras lineas de código como:

#define USB_CONFIG_PID 0x000A ( estos son en mi caso )
#define USB_CONFIG_VID 0x04D8 ( estos son en mi caso )

mira y estaremos al pendiente.
Saludos desde Guatemala!
17/03/2012 #1934


Hola, Oeg2. Gracias por tu ayuda!

Mira, yo estoy haciendo las pruebas desde Proteus, simulando USB. Hice lo que me dijiste, pero aún sigue pasando lo mismo.
La versión 4.104 de CCS es la que estoy usando, y las librerías que integra tiene los dos #defines que mencionas.

Voy a hacer unas pruebas y luego te comento como me fue.

Muchas gracias y saludos desde Argentina.
Cristian.

---------- Actualizado después de 7 minutos ----------

Hola de nuevo.

He borrado los drivers desde el administrador de dispositivos, luego cargué en Proteus el HEX compilado en mi PC y sigue apareciendo como desconocido :(. Evidentemente algo raro hay en la PC o en la versión de CCS.
Qué versión de CCS usas en tu caso?

Gracias de antemano.
Saludos,
Cristian.
18/03/2012 #1935


Hola.

Bueno, no hay caso. Intenté con una versión más reciente de CCS con sus propias librerías modificando el VID&PID, pero no pasa nada . En el asistente de instalación de Drivers me sigue apareciendo como "Desonocido" (ver adjunto).
Hice una comparación con el HEX que sí funciona, y lo llamativo es que, apenas conecto el PIC al USB, me aparece el Nombre del dispositivo rápidamente. En cambio, con el HEX compilado con mi CSS, directamente aparece "Desconocido".

Bueno, si a alguien se le ocurre alguna sugerencia, les agradeceré muchísimo.

Saludos cordiales,
Cristian.
Imágenes Adjuntas
Tipo de Archivo: jpg UnknowDevice.jpg (62,4 KB (Kilobytes), 10 visitas)
18/03/2012 #1936

Avatar de Meta

En vez de tanto CCS.
¿Han probado el C18 de Microchip?

Lo pregunto porque ya viene muchos ejemplos sobre 18F y USB con sus driver incluidos.
18/03/2012 #1937


Hola.
No aún, personalmente no probé en C18.
Voy a instalarlo para validar si realmente funciona.
Creo que también se puede usar el compilador CCS en el MPLAB, pero supongo que el resultado será el mismo.
Voy a probar y te comento en un rato.

Gracias y saludos!
Cristian.
21/03/2012 #1938


Moyano Jonathan dijo: Ver Mensaje
Hola como andas aguevara, las respuestas a tus dudas son las siguientes:

- El archivo mpusbapi.dll es el archivo encargado , junto con el driver correspondiente que viene incluido con el de gestionar la comunicación PC - PIC . Ahora bien este archivo no se carga al pic sino que un programa escrito por ejemplo en Visual Basic 6.0 llama a las funciones de esa librería y establece comunicacion con el PIC.

- El firmware es el programa que se le carga al pic , donde hay librerías específicas para gestionar la comunicación usb.

Espero tus dudas hayan sido disipadas , en caso contrario peregunta.

Mañana voy a seguir con el tutorial del protocolo bulk transfer donde voy a hacer incapie nuevamente en esto que has preguntado.
hola Moyano Jonathan, ha pasado mucho tiempo de que hicieron este tema, realmente esta muy bueno, es realmente un tutorado de los pic 18f2550. Le agradesco todo su aporte y el averlo echo publico.
21/03/2012 #1939

Avatar de Moyano Jonathan

hola Moyano Jonathan, ha pasado mucho tiempo de que hicieron este tema, realmente esta muy bueno, es realmente un tutorado de los pic 18f2550. Le agradesco todo su aporte y el averlo echo publico
Muchas gracias, igual faltan muchos temas por cubrir. Con lo de USB por ahora no lo he seguido desarrollando por que considero que hay otros temas que por ahora me llaman más la atención.
En estos momentos estoy desarrollando temas como ETHERNET, microcontroladores AVR, robótica, GSM, RF, etc. Igual el tema de USB todavía no lo he dado por terminado y en cuanto tenga más tiempo libre lo voy a seguir desarrollando.

Un saludo !
22/03/2012 #1940


buenas muchachos trate de hacer los ejemplos de usb_ cdc pero la verdad no me funcionan ninguno, estoy compilando en picc compiler version 4.109 no se q es a la hora de descargar las paquetes completos en proteus subo el archivo .hex y me funciona a la maravilla, pero cuando le doy compilar al archivo c q viene en carpeta de nuevo pongo el .hex y no funciona en windows lo reconoce como si fuera un dispositivo hid desconocido, he probado con todos los ejemplos y la misma cosa no funka sin compilar si funka pero compilo y nada q ver, tu Jonathan en las caspetas entregas las librerias hasta la de pic18usb modificada pero veo q la extension es .h pero a la hora de abrir el archivo en la cabecera dice pic18_usb.c entonces es .h o .c no se cual es el error, si pongo tus librerias de una me bota error a la hora de compilacion y si dejo las de por defecto q vienen en c, como te digo el pc las reconoce como un dispositivo hid desconocido; espero me puedas ayudar o si puedes mandarme todo el paquete completo de librerias usb.c usb.h bueno y todas las demas q demende la aplicacion en cdc usb te lo agradeceria bastante si alguien tiene ese problema y ya lo soluciono pues q podria ser....
un saludo!!
y sos un capo
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

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

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