Buenas, vengo a vosotros con la esperanza de que me ayudéis dado que después de probar muchas muchas cosas para conseguir evitar lo que lleva de título este post, no lo he conseguido.
De proyecto final del módulo de electrónica que estoy haciendo me decidí por hacer una batería electrónica, en resumen unos piezoeléctricos que detectan el golpe, un pic 18F4550 recoge la señal analógica, la mando por usb al ordenador y un programa reproduce un sonido seleccionado para cada "tambor" o "pad", esto ya está conseguido, incluso suena más fuerte o más flojo según la intensidad del golpe. ¿Cual es el problema? el maldito retardo...
En un principio cogí el código CCS de j1m "PicUSB" copiado total, el que encencía LED rojo y LED verde y sumaba 2 numeros, lo modifiqué para enviar mi señal analógica y así empecé, pero eso si que era retardo, lo menos medio segundo. Ahora mismo trapicheando mucho y cambiando varias cosas tanto del CCS como del programa en C# he conseguido algo así como 30 o 50 milisegundos de retardo y para aprobar el proyecto me vale, pero para la presentación que quiero tocar encima de una canción, se nota un montón el retardo.
Mi duda sobretodo es en referencia a los tipos de transferencia, dado que después de mucho leer no encuentro la manera de configurar el pic en modo transferencia tipo isócrona, que al parecer es para transmitir audio y video en tiempo real, supongo que podré transmitir la señal de los piezoeléctricos en tiempo real también...¿no?. En realidad eso no lo he tocado del código de j1m, así que no sé en que tipo trabaja ese proyecto, creo que en BULK.
Como veis no sé mu bien de que estoy hablando (jeje), ni si se puede conseguir un retardo poco o inapreciable para el oido mediante el USB, así que agradecería si alguien pudiera explicarme o ponerme el código para configurar el USB en el modo de envío de datos más rápido, solo tengo que enviar 5 bytes. Si es necesario poner el código decírmelo, pero para la duda que tengo creo que no es necesario.
Gracias de antemano, y siento la parrafada, solo quería explicarme bien.
De proyecto final del módulo de electrónica que estoy haciendo me decidí por hacer una batería electrónica, en resumen unos piezoeléctricos que detectan el golpe, un pic 18F4550 recoge la señal analógica, la mando por usb al ordenador y un programa reproduce un sonido seleccionado para cada "tambor" o "pad", esto ya está conseguido, incluso suena más fuerte o más flojo según la intensidad del golpe. ¿Cual es el problema? el maldito retardo...
En un principio cogí el código CCS de j1m "PicUSB" copiado total, el que encencía LED rojo y LED verde y sumaba 2 numeros, lo modifiqué para enviar mi señal analógica y así empecé, pero eso si que era retardo, lo menos medio segundo. Ahora mismo trapicheando mucho y cambiando varias cosas tanto del CCS como del programa en C# he conseguido algo así como 30 o 50 milisegundos de retardo y para aprobar el proyecto me vale, pero para la presentación que quiero tocar encima de una canción, se nota un montón el retardo.
Mi duda sobretodo es en referencia a los tipos de transferencia, dado que después de mucho leer no encuentro la manera de configurar el pic en modo transferencia tipo isócrona, que al parecer es para transmitir audio y video en tiempo real, supongo que podré transmitir la señal de los piezoeléctricos en tiempo real también...¿no?. En realidad eso no lo he tocado del código de j1m, así que no sé en que tipo trabaja ese proyecto, creo que en BULK.
Como veis no sé mu bien de que estoy hablando (jeje), ni si se puede conseguir un retardo poco o inapreciable para el oido mediante el USB, así que agradecería si alguien pudiera explicarme o ponerme el código para configurar el USB en el modo de envío de datos más rápido, solo tengo que enviar 5 bytes. Si es necesario poner el código decírmelo, pero para la duda que tengo creo que no es necesario.
Gracias de antemano, y siento la parrafada, solo quería explicarme bien.