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

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

Desconectado WOOD_girl

  • PIC12
  • **
  • Mensajes: 56
Re: Proyecto PicUSB
« Respuesta #435 en: 14 de Septiembre de 2008, 23:48:33 »
gracias nocturno y palitrokez por sus ayudas, voy a recompilarlo y ya les estare comentando, un saludo.

Desconectado marioquartz

  • PIC10
  • *
  • Mensajes: 22
Re: Proyecto PicUSB
« Respuesta #436 en: 21 de Septiembre de 2008, 17:18:08 »
No sabia que existia un hilo sobre esto todavía "vivo". He realizado un codigo basandome en el que venia y me da una gran cantidad de errores. Si pudierais decirme que es lo que esta mal.
Tema en otro lado del foro.

Desconectado Trino

  • PIC10
  • *
  • Mensajes: 45
Re: Proyecto PicUSB
« Respuesta #437 en: 30 de Octubre de 2008, 09:56:42 »
Hola a tod@s:

Tengo una duda y quisiera saber si me podriais ayudar, he establecido una comunicación usb entre el pic (18f2550) y el pc (visual basic) basandome en el ejemplo de J1M (picusb) (que grande eres J1M!!  :)) y lo que quiero conseguir es que el pic realice un bucle un determinado tiempo y a continuación le mande una instrucción al pc. para ello el programa en visual basic debe estar testeando continuamente si recibe o no recibe datos, y ese es precisamente mi problema. Como hago para testear si recibe o no recibe datos el visual basic??

Gracias a todos de antemano!!.

Un Saludo.

Desconectado Geo

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 922
    • Mexchip
Re: Proyecto PicUSB
« Respuesta #438 en: 30 de Octubre de 2008, 13:46:29 »
Checa el valor devuelto por la función Read. Esto lo puedes hacer en un ciclo o cada cierto tiempo.
La imaginación es el límite.
Visita mi blog, en inglés o en español :).
Mini curso de introducción a VHDL en MEXCHIP :-/

Desconectado Trino

  • PIC10
  • *
  • Mensajes: 45
Re: Proyecto PicUSB
« Respuesta #439 en: 31 de Octubre de 2008, 09:21:28 »
Muchisimas gracias Geo!! La verdad es que me ha costado un poco encontrar la funcion receive y saber como funciona (es lo que tiene ser novato en esto) pero bueno, al parecer a funcionado bien.

Mil gracias  :)

Desconectado mecatrvm

  • PIC10
  • *
  • Mensajes: 1
Re: Proyecto PicUSB
« Respuesta #440 en: 02 de Noviembre de 2008, 02:39:21 »
HOLA QUE TAL, SOY NUEVO EN ESTE FORO. HACE DOS SEMANAS ECHE ANDAR EL PIC18F4550, CON BOOTLOADER, PROGRAMANDOLO EN MPLAB 8.1 Y CON EL COMPILADOR DE CCS, BAJE EL BOOTLADER USB_Bootloader_Setup 1.0. GRACIAS A LA AYUDA DEL MAESTRO JIM, TAMBIEN HICE LA COMUNICACIÓN EN C# CON SU PROGRAMA PICUSB. DESPUES TAMBIEN LO COMUNIQUE CON VISUAL C++, PERO ME INCLINO MAS A PROGRAMAR EN VISUAL C# 2008, PERO CUANDO CORRI EL PROGRAMA PICUSB, NOTE QUE TARDABA EN HACER LA SUMA, MI PREGUNTA ES ¿COMO PUEDO CORREGIR ESTE PROBLEMA?, YA QUE LA RESPUESTA NO ES INMEDIATA , EN VISUAL C++ NO EXISTE ESTE PROBLEMA.

HICE UN PROGRAMA DESDE C# QUE CONSISTE CAMBIAR EL PWM, ESTE PROGRAMA CONSTA: DE UN BOTON Y UNA CAJA DE TEXTO, PRIMERO COLOCAMOS EL VALOR (0-1023) EN LA CAJA DE TEXTO, DESPUES DAMOS UN CLICK, ENVIA DOS BYTES DE LA PC AL PIC(PWM 10 BITS), Y FUNCIONA, PERO EL PROBLEMA ES QUE SE TARDA EN DAR ESE CAMBIO.

LA OTRA COSA SERIA INSTALAR EL MCHPFSUSB_Setup_v1.3, que contiene otro driver mas actual para WINDOWS XP, o el winusb(prefiero quedarme en xp).
NO SE SI ESTE ES EL PROBLEMA,  QUE EL DRIVER NO ESTE ACTUALIZADO.
 
OJALA ME PUDIERA AYUDAR MAESTRO JIM.

Desconectado Medusa

  • PIC18
  • ****
  • Mensajes: 252
Re: Proyecto PicUSB
« Respuesta #441 en: 04 de Noviembre de 2008, 20:45:45 »
Hola a todos,

Estoy tratando de implementar una interfase grafica usando Labview para contralar 10 lamparas incandesentes a traves del puerto USB, para esto se me basado en el magnifico trabajo de J1M, he logrado controlar 8 lamparas en forma independiente pero no puedo tener el control con los dos ultimos  :5], aparte de esto  este control es muy basico es decir solo puedo controlar una lampara a la ves, yo necesito poder controlar cualquier convinacion de lamparas, alquien podria decirme como puedo hacer esto? :?: 

Desconectado mosquera_x

  • PIC10
  • *
  • Mensajes: 1
Re: Proyecto PicUSB
« Respuesta #442 en: 06 de Noviembre de 2008, 01:28:10 »
Hola a todos, soy "nuevo" por aqui, comillas pq me la paso leyendo el foro y ps aprovecho en primer lugar para agradecerles a todos los foristas, por compartir sus conocimientos. De este proyecto picusb me he estado agarrando para sacar adelante mi proyecto de grado. Les cuento q por motivos de hardware (un adc paralelo a 5mhz) debo emplear la comunicacion usb, y la unica manera que me da el pic (un 18f4550) de transmitir la info del adc es empleando el puerto SPP. Después de haber leido el datasheet unas 10000000000 veces (las secciones de usb y spp), pude sacar mis conclusiones y creo que ahi mal que bien logré configurar la vaina. Sin embargo, no he podido dar con algun driver o analizador de protocolo capaz de mostrarme si las cosas estan funcionando o no; use por ahi un demo del advanced usb port monitor y me mostró correctamente configurados mis endpoints (uso 3, control (el "por default"), bulk (para mandar ordenes sencillas al pic) y el isocrono, en sentido out -no puede ser bidireccional-)
El labview, que era mi última esperanza, no soporta comunicacion isocrona (el visa solo soporta bulk, control e interrupciones). Alguien tiene idea de cómo puedo ver esos datos??
Alguien interesado en lo mismo? Compartamos experiencias...
 :shock:

Desconectado Geo

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 922
    • Mexchip
Re: Proyecto PicUSB
« Respuesta #443 en: 06 de Noviembre de 2008, 11:40:22 »
Hola a todos,

Estoy tratando de implementar una interfase grafica usando Labview para contralar 10 lamparas incandesentes a traves del puerto USB, para esto se me basado en el magnifico trabajo de J1M, he logrado controlar 8 lamparas en forma independiente pero no puedo tener el control con los dos ultimos  :5], aparte de esto  este control es muy basico es decir solo puedo controlar una lampara a la ves, yo necesito poder controlar cualquier convinacion de lamparas, alquien podria decirme como puedo hacer esto? :?: 
¿De qué forma estás enviando/recibiendo los comandos?
Bien podrías enviar una cadena de bits donde cada uno de ellos indique el estado de una lámpara( p. ej.: 0-apagado, 1-encendido), en el PIC tendrías que separar los bits para poder ejecutar la acción. Esto mismo puedes hacer transmitiendo por bytes, aunque usarías más recursos pero te evitarías la parte de separar cada bit.
La imaginación es el límite.
Visita mi blog, en inglés o en español :).
Mini curso de introducción a VHDL en MEXCHIP :-/

Desconectado Medusa

  • PIC18
  • ****
  • Mensajes: 252
Re: Proyecto PicUSB
« Respuesta #444 en: 10 de Noviembre de 2008, 23:17:13 »
Estoy enviando byte por byte, de este modo si logro enviar y recibir los comandos pero quisiera enviar 2 o 4 bytes por vez,

Desconectado jfh900

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3595
Re: Proyecto PicUSB
« Respuesta #445 en: 28 de Noviembre de 2008, 08:20:55 »
Tengo un problema con el USB y es que necesito implementarlo en un PIC18F2553 y en los ficheros de configuración no aparece este PIC. ¿Que hay que modificar para que funcione correctamente el USB con este PIC?. Lógicamente ya he probado a probado a cambiar el fichero de cabecera y le he añadido en el fichero pic18_usb el nombre del pic para que no de el error.

Un saludo
* Cuando hables, procura que tus palabras sean mejores que el silencio.
* 'Todos somos ignorantes, lo que ocurre es que no todos ignoramos las mismas cosas.' Albert Einstein.
* No hay nada peor que un experto para evitar el progreso en un campo
* "La vida es como una novela. No importa que sea larga, sino que esté bien narrada" Seneca
* La vida no se vive por las veces que respiras, sino por los momentos que dejan sin aliento.
* Dios dijo: ∇·E=ρ/ε0 ; ∇·B=0 ; ∇xE=-dB/dt ; ∇xB= μ0ε0dE/dt..y la luz se hizo..!!..

Desde España Jesús

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Re: Proyecto PicUSB
« Respuesta #446 en: 28 de Noviembre de 2008, 13:29:26 »
Ese pic es identico al 18f2550 a diferencia de q su ADC tiene una precision de 12bits, nada mas que yo sepa. Y no creo que eso este afectando el funcionamiento del usb....  q raro  :?

Suerte.

aleb08

  • Visitante
Re: Proyecto PicUSB
« Respuesta #447 en: 03 de Enero de 2009, 00:56:58 »
 :-/ Hola a todos!
Estoy trabajando con un PIC18F2550 para adquisicion de datos, lo comunico por USB gracias al trabajo de J1M y la modificacion de Carlos7890, y analiso los datos con LabWindows. Ahora quiero saber si se puede trabajar el USB con una funcion callback, osea que al recibir un dato se ejecute una funcion automaticamente y mientras tanto se pueda hacer otras cositas, como se hace con el puerto serial  :? .
Y de donde se puede bajar USB_Bootloader_Setup 1.0?

Desconectado ALE1973

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 230
Re: Proyecto PicUSB
« Respuesta #448 en: 12 de Febrero de 2009, 02:33:15 »
Buenas, estoy haciendo unas pruebas con un 18F4550, tratando de implementar un dispositivo HID tipo joystick, para arrancar, tome el ejemplo de Diego (redpic), del teclado HID, el cual funciona 10 puntos, lo que hice fue cambiar la tabla USB_CLASS_SPECIFIC_DESC[], con una generada por la herramienta HID Descriptor tools, el dispositivo se conecta, lo reconoce el sistema, lo toma como joystick, pero al enviarle los datos no recibo nada en la pc, baje e instale un sniffer USB para ver la trama, y efectivamente la trama llega al dispositivo pero siempre con el mismo valor (yo realizo una conversion AD y envio el dato), ahora bien, aparte de este problema, el sniffer me dice que no puede leer la tabla del descripor, y se cierra el programa, para saber si era error del programa o del pic, cargue el programa de Diego en el pic, y el sniffer lee correctamente la tabla... aparte de modificar esa tabla USB_CLASS_SPECIFIC_DESC[], hay otras modificaciones que hacer? encontre un proyecto de un joystick en mikroC y copie dicha tabla y tengo el mismo error, estoy trabajando con el CCS 4.068.

Esta es la tabla como queda

Código: CSS
  1. const char USB_CLASS_SPECIFIC_DESC[] = {
  2.     0x05, 0x01,                    // USAGE_PAGE (Generic Desktop)
  3.     0x15, 0x00,                    // LOGICAL_MINIMUM (0)
  4.     0x09, 0x04,                    // USAGE (Joystick)
  5.     0xa1, 0x01,                    // COLLECTION (Application)
  6.     0x05, 0x02,                    //   USAGE_PAGE (Simulation Controls)
  7.     0x09, 0xbb,                    //   USAGE (Throttle)
  8.     0x15, 0x81,                    //   LOGICAL_MINIMUM (-127)
  9.     0x25, 0x7f,                    //   LOGICAL_MAXIMUM (127)
  10.     0x75, 0x08,                    //   REPORT_SIZE (8)
  11.     0x95, 0x01,                    //   REPORT_COUNT (1)
  12.     0x81, 0x02,                    //   INPUT (Data,Var,Abs)
  13.     0x05, 0x01,                    //   USAGE_PAGE (Generic Desktop)
  14.     0x09, 0x01,                    //   USAGE (Pointer)
  15.     0xa1, 0x00,                    //   COLLECTION (Physical)
  16.     0x09, 0x30,                    //     USAGE (X)
  17.     0x09, 0x31,                    //     USAGE (Y)
  18.     0x95, 0x02,                    //     REPORT_COUNT (2)
  19.     0x81, 0x02,                    //     INPUT (Data,Var,Abs)
  20.     0xc0,                          //   END_COLLECTION
  21.     0x09, 0x39,                    //   USAGE (Hat switch)
  22.     0x15, 0x00,                    //   LOGICAL_MINIMUM (0)
  23.     0x25, 0x03,                    //   LOGICAL_MAXIMUM (3)
  24.     0x35, 0x00,                    //   PHYSICAL_MINIMUM (0)
  25.     0x46, 0x0e, 0x01,              //   PHYSICAL_MAXIMUM (270)
  26.     0x65, 0x14,                    //   UNIT (Eng Rot:Angular Pos)
  27.     0x75, 0x04,                    //   REPORT_SIZE (4)
  28.     0x95, 0x01,                    //   REPORT_COUNT (1)
  29.     0x81, 0x02,                    //   INPUT (Data,Var,Abs)
  30.     0x05, 0x09,                    //   USAGE_PAGE (Button)
  31.     0x19, 0x01,                    //   USAGE_MINIMUM (Button 1)
  32.     0x29, 0x04,                    //   USAGE_MAXIMUM (Button 4)
  33.     0x15, 0x00,                    //   LOGICAL_MINIMUM (0)
  34.     0x25, 0x01,                    //   LOGICAL_MAXIMUM (1)
  35.     0x75, 0x01,                    //   REPORT_SIZE (1)
  36.     0x95, 0x04,                    //   REPORT_COUNT (4)
  37.     0x55, 0x00,                    //   UNIT_EXPONENT (0)
  38.     0x65, 0x00,                    //   UNIT (None)
  39.     0x81, 0x02,                    //   INPUT (Data,Var,Abs)
  40.     0xc0                           // END_COLLECTION
  41.    };

Desde ya gracias por alguna idea de que puede estar mal

Saludos.
Alejandro

Desconectado ekud

  • PIC16
  • ***
  • Mensajes: 120
    • mi pag... bueno no es mia pero ahi estoy
Re: Proyecto PicUSB
« Respuesta #449 en: 14 de Febrero de 2009, 23:02:02 »
ya conocia estos links...  y me han sido de mucha ayuda, pero yo lo que quiero es implementarlo en mikrobasic... por eso en este mismo momento estoy trabajando en ello... haber si logro tener avances hoy y publico alguito para k los ususarios de este lenguaje podamos tener una idea mas clara
No cometas el crimen varon si no vas a cumplir la condena