Hola les cuento que estoy intentando hacer una especie de osciloscopio USB, jajaja muy ambicioso para alguien con mis pocos conocimientos de electronica.
Estoy utilizando un PIC24FJ64GB002 y C# para dibujar, la idea es utilizar comandos SCPI.
Para la transmisión por USB me base en el MLA de Microchip USB hid_custom
Voy avanzando hasta el momento puedo configurar un par de velocidades, cambiar la cantidad de puntos a capturar y solicitar los datos de la memoria.
Ahora si envío por ejemplo 2 mil bytes (un byte por punto ADC en 8 bits) todo perfecto
Mi problema es que cuando quiero enviar por ejemplo 4 mil bytes, se pierden paquetes.
la transmición la realizo en la función APP_DeviceCustomHIDTasks() cada vez que entra tan solo envio 64 bytes y espera entrar otra vez para enviar otros 64 bytes hasta completar la cantidad de puntos.
Los bytes del buffer que tiene los puntos los copio en la variable ToSendDataBuffer y antes de enviar siempre hay un while esperando que este desocupado así:
while(HIDTxHandleBusy(USBInHandle));
USBInHandle = HIDTxPacket(CUSTOM_DEVICE_HID_EP, ToSendDataBuffer,64);
Por favor podrán ayudarme a quitar este interrogante de mi cabeza
