Autor Tema: Recepción de datos por interrupción en modo BULK USB  (Leído 7374 veces)

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

Desconectado pocher

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2568
Recepción de datos por interrupción en modo BULK USB
« en: 02 de Febrero de 2008, 07:45:28 »
Hasta ahora para recibir datos automáticamente estoy utilizando un Timer que llama constantemente a la función MPUSBRead con lo cual está contínuamente leyendo y actualizando.

Lo ideal sería que solo leyera y actualizara cuando reciba algún dato, vamos como si fuese por interrupción. Y esto es lo que quiero preguntaros.

Hay otra función que es la MPUSBReadInt que aparentemente parece que sea la buena pero la intercambio por la MPUSBRead y no saca nada.

Lo dicho, alguién lo ha hecho "por interrupción".

Un saludo


Desconectado c4_esp_VR

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 735
    • www.muchotrasto.com
Re: Recepción de datos por interrupción en modo BULK USB
« Respuesta #1 en: 02 de Febrero de 2008, 09:38:28 »
No creo que preguntar cada x tiempo sea una forma de "malgastar" tiempo de proceso del ordenador ya que lo que estamos haciendo es un pulling.

Si lo que queres es hacerlo mediante una interrupción tendrías que utilizar hilos en tu aplicación y alguna interrupción IRQ del PC que no es nada sencillo y mucho menos en visual basic ya que este no tiene suficiente potencia para realizar lo que quieres hacer.

Un saludete.

Desconectado pocher

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2568
Re: Recepción de datos por interrupción en modo BULK USB
« Respuesta #2 en: 02 de Febrero de 2008, 14:42:19 »
Habeis utilizado la función MPUSBReadInt?

Para qué sirve?

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Re: Recepción de datos por interrupción en modo BULK USB
« Respuesta #3 en: 12 de Febrero de 2008, 22:05:48 »
Hola Pocher. Yo tambien ando como loco buscando esto.

Todo esta orientado en el API de Windows y, quiza, en unas macros llamadas BEGIN_MESSAGE_MAP, si no me equivoco. O tambien un codigo llamado HOOK. De estos dos tengo muy poca informacion para son escencialmente para capturar los mensajes que windows envia continuamente cuando un evento ocurre, aunque no sabria como especificar el evento de dato alojado y, peor aun, especificar de q dispositivo esperar.

Veras, usmeando en la mpusbapi.dll, la funcion MPUSBReadInt solo es para leer la pipe del modo de comunicacion: Interrupcion. Ocea no sirve  :P porque lo q yo quiero es por bulk, igual que tu. Pero lo q si, es la funcion API que usa: DeviceIoControl(...), aunq no estoy del todo seguro como se puede configurar para tal proposito.

Puse algo mas de info, mas detallada, sobre la mpusbapi.dl en el tema de J1M, en PicUSB. Justo AQUI

La verdad, que ando como loco buscando la manera de lograrlo. Espero puedas brindarm los conocimientos que tienes sobre esto :)


Un saludo.

Desconectado pocher

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2568
Re: Recepción de datos por interrupción en modo BULK USB
« Respuesta #4 en: 13 de Febrero de 2008, 04:02:03 »
Hola jeremylf.

Yo quería aplicar lo de la interrupción para que en caso de que se desconecte el cable te avise por pantalla.

Has hecho un estudio muy profundo yo no he llegado a tanto, ni mucho menos.

Creo que voy a pasar a otro tema y dejar ya lo del USB. Estoy intentando ponerme medio al día con respecto a otros componentes del FORO, aunque eso es muy dificil, pinché y recuperar posiciones lleva su mucho tiempo.

Un saludo y ánimo con tu estudio.

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Re: Recepción de datos por interrupción en modo BULK USB
« Respuesta #5 en: 13 de Febrero de 2008, 14:32:29 »
Hola Pocher. Yo enrealidad busco esto porque necesito enviar unos 65000 datos a la PC. Y leer con un timer, aparte de malgastar recursos innecesariamente, no llega a cojer algunos datos. Ocea, los pasa por alto.

Y sobre lo que tu queires, dedusco q tu quieres enviar siempre datos para decirle que aun "sige vivo" no? Para eso tb hay que usar los mensajes de windows y todo eso que aun nose  :lol:

Suerte con eso.

salu2.

Desconectado ChóN

  • PIC10
  • *
  • Mensajes: 18
    • HB Ingenieria
Re: Recepción de datos por interrupción en modo BULK USB
« Respuesta #6 en: 31 de Julio de 2008, 14:27:55 »
Hola a todos, yo también estube intentando enviar datos por interrupción a la PC con un 18F2550, programando el micro en CCS y en la PC con Visual C#, y utilizo la mpusbapi. El hecho es que lo he simulado en proteus y funciona a la perfección, en mi caso tengo el micro conectado a un teclado matricial de 4X4 y una pantalla LCD 16X2. Pero al momento de tratar de correrlo en el micro no funciona... He intentado buscar como realizar envio de datos por interrupción pero no logro encontrar nada, es decir, esta claro que el pic dispone de un flag cuando recibe datos USB, la cuestión sería poder tener algo similar en la PC, como es en el caso del RS232.
Si alguien ha logrado hacer algo así, se lo agradezco.
Saludos.
- ChóN -

Desconectado WOOD_girl

  • PIC12
  • **
  • Mensajes: 56
Recepción de datos por en modo BULK USB
« Respuesta #7 en: 08 de Marzo de 2010, 14:29:12 »
hola amigos del foro, recurro a ustedes por que no he logrado transmitir mas de 100 bytes en modo BULK USB para visualizarlos en labview  y me preguntaba si alguien ha logrado enviar gran cantidad de datos a traves del pic hacia la pc. en mi caso utilizo un PIC18F2550 para enviar datos obtenidos desde el conversor ADC (Aprox. 5000bytes). agradezco su colaboración

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Recepción de datos por interrupción en modo BULK USB
« Respuesta #8 en: 14 de Marzo de 2010, 16:35:50 »
Grandes cantidades de datos...MMnno.

yo lo maximo que he logrado enviar en modo Bulk han sido unos 8kiloBytes por segundo. migsantiago ha logrado enviar bastante mas que eso, pero usando el modo de interrupcion HID.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Recepción de datos por interrupción en modo BULK USB
« Respuesta #9 en: 14 de Marzo de 2010, 19:44:22 »
Migsantiago ha logrado enviar bastante mas que eso, pero usando el modo de interrupcion HID.

Exactamente, un capo! En Dusas USB y 12Mbps tenes toda la info de como pudo realizarlo  ;-)


Saludos!
No contesto mensajes privados, las consultas en el foro


 

anything