TODOPIC
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?
23 de Julio de 2014, 03:53:11

Ingresar con nombre de usuario, contraseña y duración de la sesión
Buscar:     Búsqueda Avanzada
346104 Mensajes en 38829 Temas por 40389 Usuarios
Último usuario: victor1080
* Inicio Ayuda Buscar Calendario Ingresar Registrarse
Buscar en TodoPIC
+  TODOPIC
|-+  Microcontroladores PIC
| |-+  Lenguaje C para microcontroladores PIC (Moderadores: Modulay, pikman, pocher, vszener, Suky)
| | |-+  USB CDC para PIC18F4550 en CCS
0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] 2 3 Marcar como favorito Imprimir
Autor Tema: USB CDC para PIC18F4550 en CCS  (Leído 18405 veces)
proyecto2009utu
PIC12
**
Desconectado Desconectado

Sexo: Masculino
Uruguay Uruguay

Mensajes: 62



« : 10 de Enero de 2011, 17:59:05 »

Buenas comunidad, desde hace dias ya estoy intentando levantar una comunicacion USB CDC sin exito....
He encontrado algunos ejemplos en la web pero tampoco pude hacer andar ninguno, lo que me desconcierta mas  Confused

Yo recien empiezo a trabajar con CCS, y mis experiencas anteriores fueron con MikroC con el cual logre estableer una comunicacion HID mediante el USB

Por ahora lo unico que quiero hacer es establecer la comunicacion CDC y ver que funciona.

Tengo algunas dudas con el driver, no se si lo debo crear o es el mismo siempre???

Y mi gran duda es el error que me da en mis programas al compilar, me dice que no esta definido #device PIC18F4550, en el 18f4550.h
No entiendo porque este error, y como lo corrigo?

Luego seguire colocando otras dudas en este hilo, pero la verdad esto me tiene muy trancado  redhot

Desde ya mil gracias
En línea
rodrigo_control2009
PIC12
**
Desconectado Desconectado

Sexo: Masculino
Chile Chile

Mensajes: 54


WWW
« Respuesta #1 : 16 de Enero de 2011, 16:13:21 »

Amigo  busca un tema llamado el  usb desencadenado http://picmania.garcia-cuervo.net/usb_0_desencadenado.php , allí encontraras todo  sobre  el  usb   cdc, bulk, hid   está  todo  muy  fácil de entender.  Yo  los he probado  y hecho aplicaciones sencillas  con el usb_cdc   con el 18f4550 en win 7  64 bit  y en general  todo  funciona muy bien, solo asegurate q  el  archvo  inf  incluya  los  SO de 64 bit  o 32 bit segun en  cual estes  trabajando
En línea

“El hombre ideal, sería persa de origen, árabe de religión, iraquí por cultura, hebreo por experiencia, cristiano por conducta, hindú por perspicacia, sufí por su estilo de vida, angélico por su moral y divino por sus ideas y conocimiento, destinado a la eternidad”
rodrigo_control2009
PIC12
**
Desconectado Desconectado

Sexo: Masculino
Chile Chile

Mensajes: 54


WWW
« Respuesta #2 : 16 de Enero de 2011, 16:37:46 »

Como  mencione mas arriba  en general   no he  tenisdo problemas con el usb_cdc 
Habia hecho algunas pruebas  y  todo funcionaba  bien, luego quice enviar  datos desde el pc a un pic el cual a su vez lo enviaba a otro pic   y  finalmente el 1er pic lo enviaba al PC. Bueno la cosa  no funciono y  el  primer pic no entraba en la rutina de interrupcion. Luego de algunas pruebas nada mejoro, asi q decidi hacer lo mas basico  hacer el eco desde el 1er pic, y para sopresa  el eco enviado al pc  es  cualquier cosa menos el caracter  enviado por el pc.
Al enviar el caracter desde el pc el pic lo recibe ya q se enciende un led como bandera, pero retorna al pc cualquier cosa.
Estoy usando  e CCS 4.104  en win 7 64 bit. El pc reconoce bien el pic y le asigna un puerto com.


este es el Cod.

#include <18F4550.h>
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN
#use delay(clock=48000000)
#include <usb_cdc_HomeScada.h>
//#define USB_CON_SENSE_PIN PIN_B2
char recepcion;

void main(){
delay_ms(300);
usb_cdc_init();               //esta  en  usb_cdc   y  configura  los  baudios, bit paridad etc
usb_init();                   // esta en pic18_usb llama  a usb_init_cs() q a su vez  llama a usb_task()
while(!usb_cdc_connected()) {}
usb_task();                  //está en pic18_usb
 if (usb_enumerated()) printf(usb_cdc_putc, " TEST ECO USB:\r\n");
                              //Atencion de  eco  USB_CDC
do{
 usb_task();                 //está en pic18_usb
 if (usb_enumerated())     {
  if(usb_cdc_kbhit())             {
  if ((recepcion=usb_cdc_getc()) != 0x00)  {
   usb_cdc_putc(recepcion);recepcion=0x00;
   output_high(pin_c0);         //enciende led para  monitorea si entra en rutina de rx  y  tx
   delay_ms(10);
   output_low(pin_c0);
                                           }
                                 }

                            }
 } while(true);
         }
En línea

“El hombre ideal, sería persa de origen, árabe de religión, iraquí por cultura, hebreo por experiencia, cristiano por conducta, hindú por perspicacia, sufí por su estilo de vida, angélico por su moral y divino por sus ideas y conocimiento, destinado a la eternidad”
rodrigo_control2009
PIC12
**
Desconectado Desconectado

Sexo: Masculino
Chile Chile

Mensajes: 54


WWW
« Respuesta #3 : 17 de Enero de 2011, 13:25:49 »

Seguí haciendo  pruebas y  la falla  se mantenía por el  lado de la recepción usb_cdc del pic.   Todo lo que el PIC recibía y  retransmitia al pc o al módulo  serie  salia  mal.
Así que decidí, compilar en  otra versión anterior el mismo código, y  esto resolvió el problema 
Con la  versión  4.104 de CCS me genera un .hex  que  tiene falla en la  recepción  usb_cdc
Con la  versión  4.023  de CCS   no  produce problemas .

Este es el cod de prueba usado en las dos versiones


#include <18F4550.h>
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN
#use delay(clock=48000000)
#use rs232(baud=9600, xmit=pin_c6, rcv=pin_c7, bits=8, parity=N)
#include <usb_cdc_HomeScada.h>

//#define USB_CON_SENSE_PIN PIN_B2

char s;

void main(){
char c=0x00;
delay_ms(300);
usb_cdc_init();                         //esta  en  usb_cdc   y  configura  los  baudios, bit paridad etc
usb_init();                             // esta en pic18_usb llama  a usb_init_cs() q a su vez  llama a usb_task()
while(!usb_cdc_connected()) {}

enable_interrupts(global);
enable_interrupts(int_rda);


do{
 usb_task();                             //está en pic18_usb
 if (usb_enumerated())     {

 c=usb_cdc_getc();                     
 usb_cdc_putc(c);
 putc(c);
 c=0x00;                               // lo retransmite por rs232 y hace eco usb
                           }
 } while(true);
         }

#int_rda
void serie_isr(){
if (kbhit()){
   output_high(pin_c0);         //enciende led para  monitorea q entro en rutina de rx
   s=getc();
   putc(s);
   delay_ms(1);
   output_low(pin_c0);
   usb_task();                 //está en pic18_usb
 if (usb_enumerated()){ if (s != 0x00) usb_cdc_putc(s); s=0x00;}
}}
En línea

“El hombre ideal, sería persa de origen, árabe de religión, iraquí por cultura, hebreo por experiencia, cristiano por conducta, hindú por perspicacia, sufí por su estilo de vida, angélico por su moral y divino por sus ideas y conocimiento, destinado a la eternidad”
proyecto2009utu
PIC12
**
Desconectado Desconectado

Sexo: Masculino
Uruguay Uruguay

Mensajes: 62



« Respuesta #4 : 20 de Enero de 2011, 18:04:28 »

Interesante que con una version mas nueva te de problemas...
Yo estoy usando la version 4.104 actualemente (en sistemas operativos de 32 bit), voy a ver si me paso a la 4.023, como tu dices...

Cual es la aplicacion que estas utilizando para comprobar tus programas???

Actualmente estoy con problemas para instalar el driver, ya que inicializo el USB pero no logro instalar el driver para que el sistema operativo reconozca al dispositivo
Tu como lo haces?

Desde ya muchas gracias

En línea
rodrigo_control2009
PIC12
**
Desconectado Desconectado

Sexo: Masculino
Chile Chile

Mensajes: 54


WWW
« Respuesta #5 : 20 de Enero de 2011, 21:31:41 »

Hola, ya  descubrí  mi  problema.  Los archivos usb_desc_cdc.h q usaba los habia  creado con una  versión menos reciente de PICC. Así que  modifique el archivo usb_desc_cdc. de la versión 4.104 y  todo  funciona  bien, también lo probe  con la versión 4.114 y  compila  bien. Probe mi tarjeta en  win 7 64 bit  y   se asigna puerto com. Hice las  pruebas de eco  y  responde  muy  bien.

Prueba este  código  solo  hace  el eco  emulando un puerto com  con USB_CDC

eco_usb_cdc.c

 
#include <18F4550.h>
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN  //  uso un cristal de 20MHz
#use delay(clock=48000000)
#include <usb_cdc.h>


#define USB_CON_SENSE_PIN PIN_B2  //  puede  ser  aunq deshabilitado  tb  me  funcionó para este  ejemplo en otros  casos  si  es necesario

char s;
char c=0x00;
void main(){

delay_ms(300);
usb_cdc_init();                         //esta  en  usb_cdc   y  configura  los  baudios, bit paridad etc
usb_init();                             // esta en pic18_usb llama  a usb_init_cs() q a su vez  llama a usb_task()
while(!usb_cdc_connected()) {}



do{
 usb_task();
//c=0x00;                         
 if (usb_enumerated())     {
 c=usb_cdc_getc();                     
 usb_cdc_putc(c);
 }
 }                     
 while(true);
         }


Te  adjunto el  archivo usb_desc_cdc.h
Nota: no  uso el VID y PID  de microchip, solo  por antojo jejeje, así q  puedes  usar el q quieras para fines didácticos, no así  para  fines  comerciales.
Verifica que en tu archivo usb_cdc.h  este  esta línea,

#include <usb_desc_cdc.h>   //USB Configuration and Device descriptors for this UBS device

 para que pueda llamar al archivo usb_desc_cdc.h q t adjunto y este  a su vez llame al .inf q tb adjunto  el cual a su vez  llama al driver standard de windows. (no olvides  hacer un respaldo de tus drivers originales si coincide el  nombre o cambia el nombre al q t envio, sin olvidar  cambiar el nombre en la línea antes citada.
modifica  el arch .txt  a  .inf
En línea

“El hombre ideal, sería persa de origen, árabe de religión, iraquí por cultura, hebreo por experiencia, cristiano por conducta, hindú por perspicacia, sufí por su estilo de vida, angélico por su moral y divino por sus ideas y conocimiento, destinado a la eternidad”
proyecto2009utu
PIC12
**
Desconectado Desconectado

Sexo: Masculino
Uruguay Uruguay

Mensajes: 62



« Respuesta #6 : 21 de Enero de 2011, 13:03:53 »

Anda bien... ni siquiera me pide para instalar el driver y me genera un com virtual...

No se que aplicacion utilizar para probarlo

Ya que con el hyperterminal me recibe los datos pero no me devuelve nada  Sad

Gracias
En línea
PalitroqueZ
Moderadores
DsPIC33
*****
Desconectado Desconectado

Sexo: Masculino
Islas Georgia del Sur y Sandwich del Sur Islas Georgia del Sur y Sandwich del Sur

Mensajes: 4972



WWW
« Respuesta #7 : 21 de Enero de 2011, 13:23:10 »

proyecto2009ut

al usar CDC, no necesitas driver, porque el windows ya lo trae, pero si necesitas informarle al windows como será la configuración del dispositivo que trabajará como puerto serial virtual y es allí donde debes buscar un archivo con extensión .inf

el que yo he usado es el que proporciona microchip en su MCHPFSUSB Framework  http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2680&dDocName=en537044

buscas en la carpeta drivers y cdc y allí deben estar unos 4 o 5 archivos que son los que necesitan,

pero eso si, debes usar el mismo VID y PID para que puedan integrarse correctamente al sistema.




bueno debo corregir mi post anterior, en realidad si necesita un driver, los archivos que te mencioné son estos:




al buscar el inf, el inf copia los .sys a la carpeta del sistema

« Última modificación: 21 de Enero de 2011, 13:36:05 por PalitroqueZ, Razón: corrección en la información suministrada » En línea

La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek
rodrigo_control2009
PIC12
**
Desconectado Desconectado

Sexo: Masculino
Chile Chile

Mensajes: 54


WWW
« Respuesta #8 : 21 de Enero de 2011, 22:14:17 »

Cuando preguntas   q aplicación uso, t refieres  al  software ??
Con cualquier  visor de puerto  serie  deberías  ver  lo  q envias por el  puerto  com y  lo q recibes  por  el.
Yo hago las pruebas con el Docklihgt 1.6 y  el  monitor de puerto serie  q está en tools del compilador  ccs.
Y el hardaware  es una tarjeta en la que tengo un 18f4550 conectado  al usb, y  su  puerto  serie  a un modulo xbee, admas de una memoria i2c, y otras  cosas.
Creo q  si usas win de 32 bit, puedes simular la  comunicaión usb_cdc  en proteus, asi  no necitaras de una tarjeta  fisica o si ya  dispones de una o  en un proto, mucho mejor.
Y  como  bien dice  Palitroquez  el usb_cdc  no necesita driver pq  windows  ya  lo  tiene, pues  lo  único q uno hace  es  indicarle  cual driver usar, con el archivo .inf
Proyecto2009ut, sube  los códigos q usas, así mas  puden  verlos  y  te  podrán dar buenas  sugerencias.
En línea

“El hombre ideal, sería persa de origen, árabe de religión, iraquí por cultura, hebreo por experiencia, cristiano por conducta, hindú por perspicacia, sufí por su estilo de vida, angélico por su moral y divino por sus ideas y conocimiento, destinado a la eternidad”
proyecto2009utu
PIC12
**
Desconectado Desconectado

Sexo: Masculino
Uruguay Uruguay

Mensajes: 62



« Respuesta #9 : 22 de Enero de 2011, 15:43:04 »

Buenas, gracias por su interes...
Si te preguntaba por la aplicacion, yo estaba usando el putty y el hyperterminal, y los dos me hacen lo mismo, me envian lo que escribo pero no recibo nada.... es raro  Confused, pero igual yo estoy trancado en un paso anterior ya que la pc no me reconoce el dispositivo  redhot

Lo que estoy intentando realizar es un osciloscopio digital, que se comunique por usb. Ahora bien estoy teniendo ciertos polemas con el PIC...

El codigo que tengo hasta al momento es solo una pequeña parte de lo que quiero hacer...

Código:
#include <18f4550.h>
#fuses   HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL12,CPUDIV1,VREGEN,NOPBADEN       
#use delay(clock=48000000)     
#include <pic18_usb.h> //Microchip PIC18Fxx5x Hardware layer for CCS's PIC USB driver
#include "usb_desc_cdc.h"      // Descriptores del dispositivo USB.     
#include "usb_cdc.h"           // Descripción de funciones del USB.
short estado_usb;      // boolean global, se debe declarar antes de llamar a usb_cdc.h
#define USB_CON_SENSE_PIN PIN_E3
#define  PORTB = busdata   // Defino el puerto B como la entrada de datos
                                       
// Declaracion de funciones

static void adqrap(void); // Defino adquisicion rapida                                                                   
static void adqlen(void); // Defino adquisicion lenta                                               
static void lectur(void); // Funcion Lectura                               
static void escrit(void); // Funcion Esctritura
         
// Declaracion de variables   

int8  var1;
char  var;

void main() {
       
set_tris_b (0xff);     
set_tris_a (00010000);                 

   usb_cdc_init();
   usb_init();                                           
   while(!usb_cdc_connected()) {}                       
   // espera a detectar una transmisión de la PC (Set_Line_Coding)
   do{
      usb_task();
      if (usb_enumerated()){
      usb_cdc_putc(var);
         if(usb_cdc_kbhit()){ //en espera de nuevo(s) caracter(es) en el buffer
            if(usb_cdc_getc()=='x'){ //¿lo que llegó fué el caracter x?
               printf(usb_cdc_putc, "Probando comunicacion\n\r");                   
               //si, entonces envía una cadena hacia el PC
             }                                   
            if(usb_cdc_getc()=='a'){ //¿lo que llegó fué el caracter a?
               printf(usb_cdc_putc, "Proximamente datos osciloscopio\n\r");
               //si, entonces envía una cadena hacia el PC               
             }                                                 
         }                               
        }
       }while (TRUE); // bucle eterno
}             


Ahora bien, lo que quiero hacer y no se como  es cargar los datos del PuertoB en alguna de las variables y enviarlo por el USB, como puedo cargar una variable con el valor del puerto?

Gracias

PD: No se si me entienden el codigo, la parte de los caracteres y printf es solo para probar la comunicacion  Embarassed
En línea
jhozate
Colaborador
PIC24H
*****
Desconectado Desconectado

Sexo: Masculino
Colombia Colombia

Mensajes: 1463



« Respuesta #10 : 22 de Enero de 2011, 19:32:57 »

para leer el puerto define la variable y lees con
Código:
variable=input_b();
En línea

Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA
rodrigo_control2009
PIC12
**
Desconectado Desconectado

Sexo: Masculino
Chile Chile

Mensajes: 54


WWW
« Respuesta #11 : 22 de Enero de 2011, 20:34:17 »

La aplicación funciona, uno de  los  problemas es q al inicio del  buble  mandas  el valor de var y ésta  está  vacio asi q solo mandas  0x00 o caratcter nulo, además como  está  al  inicio del bucle infinito,  saturas  el terminal, ya q no hay nada q controle su envio.
Por otro lado no puedes ver el valor del  PORTB:
1.- No lo lees
2.- No lo  guardas en ninguna variable (si asi lo deseas).
3.- En ningun momento envias el valor del PORTB al PC
4.- Declaras  varias  funciones, pero no las  usas

Como  te  mencionan con input_b()  puedes leer  el  PORTB

#include <18f4550.h>
//#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN  //  YO USO CRISTAL DE 20MHz 20/5=4MHz, TU USAS UNO DE 48 MHz YA 1 USAS PLL12 48/12=4MHz
#fuses   HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL12,CPUDIV1,VREGEN,NOPBADEN       
#use delay(clock=48000000)     

//#include <pic18_usb.h>           //Microchip PIC18Fxx5x Hardware layer for CCS's PIC USB driver
//#include "usb_desc_cdc.h"        // Descriptores del dispositivo USB.   

//  usb_cdc.h  ya  incluye los  arch antes citados, reviza usb_cdc.h
 
#include "usb_cdc.h"           // Descripción de funciones del USB.

//short estado_usb;      // boolean global, se debe declarar antes de llamar a usb_cdc.h

//#define USB_CON_SENSE_PIN PIN_B2
#define USB_CON_SENSE_PIN PIN_E3
//#define  PORTB = busdata  // Defino el puerto B como la entrada de datos

//#byte PORTB =0x81  //  defino  portb  reg  0x81  del 18f4550
                                       
// Declaracion de funciones

static void adqrap(void); // Defino adquisicion rapida                                                                   
static void adqlen(void); // Defino adquisicion lenta                                               
static void lectur(void); // Funcion Lectura                               
static void escrit(void); // Funcion Esctritura
         
// Declaracion de variables   

int8  var1;
char  var;

void main() {
       
//set_tris_b (0xff);     
//set_tris_a (00010000);                 
   delay_ms(300);
   usb_cdc_init();
   usb_init();                                           
   while(!usb_cdc_connected()) {}                       
   // espera a detectar una transmisión de la PC (Set_Line_Coding)
   do{
      usb_task();
      if (usb_enumerated()){
      var1=input_b();
      var=input_b();
          //usb_cdc_putc(var1);
         //usb_cdc_putc(var);
         if(usb_cdc_kbhit()){ //en espera de nuevo(s) caracter(es) en el buffer
            if(usb_cdc_getc()=='x'){ //¿lo que llegó fué el caracter x?
               printf(usb_cdc_putc, "Probando comunicacion\n\r");                   
               //si, entonces envía una cadena hacia el PC
             }                                   
            if(usb_cdc_getc()=='a'){ //¿lo que llegó fué el caracter a?
               printf(usb_cdc_putc, "Proximamente datos osciloscopio\n\r");
               //si, entonces envía una cadena hacia el PC               
             }
             if(usb_cdc_getc()=='b'){ //¿lo que llegó fué el caracter b?  // aca  t  muestra  el valor de PORTB
               printf(usb_cdc_putc, "PORTB= %c\n\r",var);
               printf(usb_cdc_putc, "PORTB= %u\n\r",var1);}
         }                               
        }
       }while (TRUE); // bucle eterno
}

Hice las pruebas con dos  soft  y  con ambos  funciona igual ve las imagenes


En línea

“El hombre ideal, sería persa de origen, árabe de religión, iraquí por cultura, hebreo por experiencia, cristiano por conducta, hindú por perspicacia, sufí por su estilo de vida, angélico por su moral y divino por sus ideas y conocimiento, destinado a la eternidad”
proyecto2009utu
PIC12
**
Desconectado Desconectado

Sexo: Masculino
Uruguay Uruguay

Mensajes: 62



« Respuesta #12 : 24 de Enero de 2011, 15:32:16 »

Muchas gracias por sus respuestas y por su gran ayuda!
A mi tambien me a funcionado perfectamente....  rebotando
pero tengo un problema extraño... les cuento un poco:

Yo trabajo con dos maquinas una con win7 y otra con winxp (los dos de 32bits) pero con win7 me anda y no en xp, que sigue sin reconocerme el driver...

Es extraño esto no???

En win7 le puse que me buscara el driver en una carpeta raiz y que incluyera todas las sub carpetas (y ahi encontro alguno, pero no se exactamente cual es) en xp no me deja hacer esto  Confused

Igualmente si no estoy equivocado los archivos que preciso de driver son siempre los mismos verdad???
el mchpcdc.cat y el mchpcdc.inf que son propiedad de microchip

en las imagenes muestro un poco lo que me aprece

Por favor digame si estoy muy equivocado, porque esto es lo que me esta desconcertando un poco  Shocked

Muchisimas gracias!
Espero este hilo le pueda servir a mucha mas gente
En línea
jhozate
Colaborador
PIC24H
*****
Desconectado Desconectado

Sexo: Masculino
Colombia Colombia

Mensajes: 1463



« Respuesta #13 : 24 de Enero de 2011, 18:20:41 »

yo copié esos dos archivos en la carpeta "projects" de ccs y asi me los encuentra
En línea

Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA
proyecto2009utu
PIC12
**
Desconectado Desconectado

Sexo: Masculino
Uruguay Uruguay

Mensajes: 62



« Respuesta #14 : 25 de Enero de 2011, 07:22:41 »

Pero luego le pones la ubicacion especifica que te lo busque en la carpeta "projects" no jhozate?

Igual creo que se supone que se puede poner en cualquier carpeta, siempre y cuando uno le especifique donde esta el driver para el controlador, no?
En línea
jhozate
Colaborador
PIC24H
*****
Desconectado Desconectado

Sexo: Masculino
Colombia Colombia

Mensajes: 1463



« Respuesta #15 : 25 de Enero de 2011, 12:39:52 »

si claro, le pongo la direccion hacia "projects", solo asi me los reconocio el windows 7 de resto en cualquier otro lado que los pusiera no los encontraba.

Edit: Efectivamente, algo falla. En mi windows 7 funciona OK, pero en XP no me reconoce el driver, me toco usar el de CCS y ese si lo encuentra
« Última modificación: 25 de Enero de 2011, 13:37:49 por jhozate » En línea

Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA
proyecto2009utu
PIC12
**
Desconectado Desconectado

Sexo: Masculino
Uruguay Uruguay

Mensajes: 62



« Respuesta #16 : 29 de Enero de 2011, 13:13:24 »

Gracias, en win7 me esta andando y si en winxp le tengo que colocar el driver de CCS, y anda....

Pero solamente me anda en la simulacion en proteus (cuando lo bajo al pic no me anda en ninguno de los dos  Sad)

Otra cosa que me esta pasando es que en win7 la simulacion del puerto USB a veces anda y a veces no...

Pienso que lo me puede estar pasando es que ya tengo un dispositivo instalado con un VID y un PID, y no me deja instalar otro con los mismos numeros
puede ser esto cierto????

Porque exactamente el mismo programa que me anda en proteus no anda en el PIC  Shocked

Les paso una imagen de lo que me muestra... me parece muy estraño que tanto el VID como el PID sean 0000
Debe ser porque no tiene ningun controlador instalado ¿?

Gracias por su ayuda!
En línea
jhozate
Colaborador
PIC24H
*****
Desconectado Desconectado

Sexo: Masculino
Colombia Colombia

Mensajes: 1463



« Respuesta #17 : 29 de Enero de 2011, 13:25:54 »

yo no he probado la simulacion de proteus, pero si no estoy mal en una de sus carpetas(proteus) hay un driver que hay que instalar.
El dispositivo parece como si ya estuviese instalado, descarga este soft, si estas en Windows 7, ejecutalo como administrador, elige el dispositivo desconocido dale click derecho y luego Unistall, ahi ya puedes hacer el proceso de cero. Asegurate que el VID y PID sean los mismo en el archivo descriptor y en el driver, ademas de conectarlo en el mismo puerto
En línea

Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA
proyecto2009utu
PIC12
**
Desconectado Desconectado

Sexo: Masculino
Uruguay Uruguay

Mensajes: 62



« Respuesta #18 : 31 de Enero de 2011, 14:13:04 »

Lo de instalar los USB drivers (de proteus) lo probe, pero a veces anda y a veces no... no se porque  Surprised

Y con el soft ese, no me muestra el dispositivo desconocido, por lo tanto no lo puedo borrar.... me parece que eso es algo que pone el windows cuiando no tiene ningun controlador

Lo que me extraña es que en la simulacion me funcione perfectamente y en el harware real no me reconozca el dispositivo

Estoy usando el driver de C:\Archivos de programa\PICC\Drivers

Les agradezco su ayuda

En línea
proyecto2009utu
PIC12
**
Desconectado Desconectado

Sexo: Masculino
Uruguay Uruguay

Mensajes: 62



« Respuesta #19 : 13 de Mayo de 2011, 10:49:45 »

Bueno despues de estar mucho tiempo trancado con esto  redhot
Encontre cual era el problema! Lo que menos pensaba que podia ser, el cristal de 48MHz (compre 5 y nunguno anda)  Embarassed

Pero bueno cambie por cristal de 20MHz y funciono perfecto  Laughing
Gracias por toda su ayuda que me a ayudado a despejar algunas dudas

Ya estoy en la recta final de mi proyecto asi que pronto subire los archivos para que vayan viendo mi trabajo

Saludos
En línea
TODOPIC
   

 En línea
Páginas: [1] 2 3 Imprimir 
« anterior próximo »
Ir a:  

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