Autor Tema: Proyecto PicUSB  (Leído 510233 veces)

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

Desconectado 5GTT

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 915
RE: Proyecto PicUSB
« Respuesta #45 en: 06 de Diciembre de 2005, 15:57:00 »
Artifox estoy intentandolo tambien yo con Visual c++.  Para usar la libreria tienes que compilarla con el Visual C++ antes de nada, para que te genere un archivo .lib ya que el que viene solo sirve para Borland.

Despues con este archivo .lib nuevo y con la dll que trae ya puedes hacer tu proyecto.

En mi caso estoy intentando conseguirlo, pero me da unos errores muy raros con la funcion Openpipes, se me para el programa y sale un cuadro de dialogo de error.


Tutoriales y proyectos de electrónica

Desconectado J1M

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1960
RE: Proyecto PicUSB
« Respuesta #46 en: 06 de Diciembre de 2005, 19:12:00 »
Antes de nada, perdonad por no haber respondido antes, estoy con los papeleos de la entrega del proyecto fin de carrera y es un follon!

Con respecto a la librería para Visual C++, mira en esta página:

http://pic18fusb.online.fr/wiki/wikka.php?wakka=CustomCom

Concretamente en:

http://forum.microchip.com/tm.asp?m=118908

En ese post, un usuario ha puesto una DLL que puede ser importada sin problemas desde VC++ y explica como hacerlo, comenta x aquí como ha ido la cosa.

saludos! Giño

PD: voy a buscar que creo q por algun lado tenía un ejemplo en VC++ con la DLL d microchip...

Desconectado Artifox

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 455
    • Quadbot
RE: Proyecto PicUSB
« Respuesta #47 en: 07 de Diciembre de 2005, 00:22:00 »
Hola J1M... gracias por el link, despues de pelearme con el Visual Studio.Net y un par de incosistencias cerebrales... pude hacer algo... Acomode un codigo que encontre y lo pase a VC++ 6.0, y emule tu programa que encendia y apagaba luces... pero hasta alli llegaron mis limitaciones en VC++ no pude enviar los datos para la suma y la recepcion de datos... en si es un error de sintaxis, pero ya me quede en blanco y no se que hacer ( es que no se programar mucho en VC++)

http://rapidshare.de/files/8754589/USBSample.rar.html

esos son los archivos de mi programa, mi problema como les digo es cuando voy a sumar... no se que se debe de hacer...

Me hago la parte mas pesada y en lo sencillo me complico... loco ni yo entiendo porque paso asi...

Espero me den una mano... Un abrazoRebotado
Video Quadbot
Saludos desde mi querido Perú.
Si realmente queremos que el mundo cambie debemos empezar por nosotros mismos... ;)

Desconectado Artifox

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 455
    • Quadbot
RE: Proyecto PicUSB
« Respuesta #48 en: 07 de Diciembre de 2005, 00:28:00 »
Me olvidaba... en el archivo estan la dll (usb2550.dll) y la libreria (usb2550.lib) ya compilada y lista para usar... Sonrisa Gigante

Y es con el mismo hardware que nuestro amigo J1M hizo, asi que solo varia el programa en la PC...

Ahora si nos vemos... RebotadoRebotado
Video Quadbot
Saludos desde mi querido Perú.
Si realmente queremos que el mundo cambie debemos empezar por nosotros mismos... ;)

Desconectado 5GTT

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 915
RE: Proyecto PicUSB
« Respuesta #49 en: 07 de Diciembre de 2005, 08:24:00 »
No puedo descargar tu codigo Artifox, me gustaria verlo para ver donde fallo yo y a ver si te puedo ayudar con lo tuyo.


Tutoriales y proyectos de electrónica

Desconectado Artifox

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 455
    • Quadbot
RE: Proyecto PicUSB
« Respuesta #50 en: 07 de Diciembre de 2005, 09:34:00 »
Hola mariano, no me habia dado cuenta que el archivo no bajaba bien... lo he vuelto a colgar, esta vez en uno de los almacenes del foro...

http://miarroba.com/foros/ver.php?foroid=348538&temaid=3933900

Hay esta todos los archivos de mi programa... y el problema esta en el archivo USBSampleDlg.cpp en la parte donde se hace la suma en OnSumar()...

A ver si lo revisas y me das una mano... Un abrazo, nos vemos RebotadoRebotado
Video Quadbot
Saludos desde mi querido Perú.
Si realmente queremos que el mundo cambie debemos empezar por nosotros mismos... ;)

Desconectado mario_pastor

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 101
RE: Proyecto PicUSB
« Respuesta #51 en: 07 de Diciembre de 2005, 12:03:00 »
Excelente proyecto J1M... tu siempre tan generoso compartiendo tus conocimientos en el foro.... Una buena guía para los que recien iniciamos en el mundo del USB. Giño
Saludos,
Mario.

Lima - Perú

Desconectado 5GTT

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 915
RE: Proyecto PicUSB
« Respuesta #52 en: 09 de Diciembre de 2005, 10:44:00 »
Artifox, cual es exactamente el problema que te da, ¿o simplemente es que no suma?, me refiero a si te da un error de windows como me pasaba a mi.


Edito: Ante todo no soy ningun experto en Visual C++, por lo que puede que diga una burrada. Me parece que las funciones  de leer y escribir no se utilizan exactamente igual, ahi un puntero por ahi que varia, concretamente en el parametro RecvLength de la funcion MPUSBRead. De todas maneras que lo confirme J1M o alguien, por que tampoco soy un programado nato xD.

Tutoriales y proyectos de electrónica

Desconectado Artifox

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 455
    • Quadbot
RE: Proyecto PicUSB
« Respuesta #53 en: 10 de Diciembre de 2005, 12:03:00 »
Este es parte del codigo donde esta mi error, para esto a las cajas de texto les puse una variable m_Sum1, m_Sum2 y m_Res de tipo byte para poder trabajarlo directamente con los comandos de envio y recepcion USB, pues estos trabajan a nivel de byte.

void CUSBSampleDlg::OnSumar()
{

   DWORD SentLength,RecvLength;
   BYTE send_buf[3];
   char rec_buf[1];
   send_buf[0] = 0x00;             // Para Sumar
    send_buf[1] = (BYTE) m_Sum1;         // Envia sumando 1 ?????????
   send_buf[2] = (BYTE) m_Sum2;         // Envia sumando 2 ?????????
   MPUSBWrite(myOutPipe,send_buf,3,&SentLength,1000);
   MPUSBRead(myInPipe,rec_buf,1,&RecvLength,1000);
   m_Res=(int)rec_buf;                  // ??????????
}

Cuando lo corro, no me bota nada, no envia y no recibe, hice una depuracion punto por punto y me di cuenta que ni siquiera carga los valores el el bufer, por ello no  tengo idea cual es el error o como debo hacerlo.

A ver si alguien mas nos da una mano. Un abrazo Rebotado
Video Quadbot
Saludos desde mi querido Perú.
Si realmente queremos que el mundo cambie debemos empezar por nosotros mismos... ;)

Desconectado patolinec

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 206
RE: Proyecto PicUSB
« Respuesta #54 en: 12 de Febrero de 2006, 16:35:00 »
Hola J1M oye solo una cuestion, por alguna de mi pais tercermundista no puedo encontrar un crsital de 12Mhz, por lo que me preguntaba en que parte tengo que configurar esto del cristal para poder colocar un de 16 o 4, te agradeceria mucho tu respuesta
Casi me maté pero ahora estoy de nuevo vivo

Desconectado J1M

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1960
RE: Proyecto PicUSB
« Respuesta #55 en: 13 de Febrero de 2006, 01:36:00 »
Hola patolinec,

me hago un copy&paste de este post:

http://miarroba.com/foros/ver.php?foroid=6510&temaid=3675112&pag=3

Codigo:

por ejemplo (os lo pongo en C para CCS q no se como se declaran en Basic)

#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL3,CPUDIV1,VREGEN
#use delay(clock=48000000)

en el delay debo poner a la frecuencia a la que va a ir mi sistema... no la frecuencia del cristal que esté usando. 48Mhz para obtener 12mips y los 1,5MB de transmision del protocolo USB 2.0

El siguiente paso es configurar los fuses para que apartir de un cristal X obtener la frecuencia del sistema Y (en este caso 48Mhz), para eso nos vamos al DataSheet del 18Fxx5x, y a la página 31 y 32.

Vemos un peaaazo tabla en la que tendremos q mirar primero la columna de la izquierda (Input Oscillator Frecuency), seleccionamos la casilla correspondiente al cristal q estemos usando, en mi caso es de 12Mhz, ahora nos vamos a la columna de la derecha(Microcontroller Clock Frecuency) y buscamos los 48Mhz que queremos conseguir.

Ahora tenemos que ver que parámetros nos da la tabla para poner como Fuses, para el que estamos calculando tenemos:

PLL Division: +3 (011)
Clock Mode: HSPLL, ECPLL, ECPIO (a elegir entre uno de los tres...)
MCU Clock Division: +2 (00)

Por ultimo seleccionamos los fuses adecuados a esos parametros, esto ya dependerá un poco del compilador y los nosmbres q le haya dado, aunque generalmente se respetan los del datasheet, para el caso del CCS se tiene:

PLL Division: PLL3
Clock Mode: HSPLL
MCU Clock Division: USBDIV (para indicarle q vamos a usar el divisor tb para el USB), CPUDIV1 (aunq arriba sea +2, es el 00, y es el primero, usea "1"Giño

Para vuestro caso que es de 4Mhz tendriais:
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL1,CPUDIV1,VREGEN
#use delay(clock=48000000)


Bueno espero que os haya quedado un poco mas claro... y q no os haya terminado de liar :P



Saludos! Giño

Desconectado PABCAT

  • PIC10
  • *
  • Mensajes: 7
RE: Proyecto PicUSB
« Respuesta #56 en: 22 de Febrero de 2006, 18:35:00 »
hola saben   como acceso a la rom del pic18f4550?;  no c si el ccs sera parecido al compilador del mplab que es con el que estoy trabajando pero viendo como lo hacen con ese podria guiarme y probar si es similar al del mplab c18;  el proyecto en el que estoy trabajando es usb;  como el de J1M   le he agregado algunas cosas  pero me gustaria accesar al rom para dejar guardado algunos datos cuando se desconecte del host  por cierto lograste ver como crear otros iconos yo le puse uno por defecto que viene en la dll  que es un rombo gris pero me gustaria colocar uno personalizado.  

Desconectado BAFAN

  • PIC10
  • *
  • Mensajes: 19
RE: Proyecto PicUSB
« Respuesta #57 en: 23 de Febrero de 2006, 03:40:00 »
Para escribir en la memoria de programa en CCS simplemente utilizando la instruccion que da CCS write_program_eeprom(direccion memoria,dato); con eso ya puedes escribir datos de 16bits y para leer es lo mismo pero con read_program_eeprom(direccion memoria); y retorna un dato de 16bits... solo hay q tener en cuenta que las direcciones estan separadas de 2 en 2 bytes y con eso ya puedes escribir facilmente en memoria de programa.
Bueno espero q te haya servido de algo ...Avergonzado
Un saludoGiño

Desconectado djps150

  • PIC10
  • *
  • Mensajes: 2
RE: Proyecto PicUSB
« Respuesta #58 en: 27 de Febrero de 2006, 07:34:00 »
Saludos, en que me puedes ayudar con la comunicacion usb 2.0...
Gracias

Desconectado Artifox

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 455
    • Quadbot
RE: Proyecto PicUSB
« Respuesta #59 en: 27 de Febrero de 2006, 19:27:00 »
Hola, pues para poder ayudarte tienes que ser mas especifico en tus preguntas, en que necesitas ayuda. En la programacion del PIC? el los drivers para la PC? o en la programacion en la PC?

Saludos

Sonrisa Gigante
Video Quadbot
Saludos desde mi querido Perú.
Si realmente queremos que el mundo cambie debemos empezar por nosotros mismos... ;)


 

anything