Autor Tema: 800 bytes por el puerto serie  (Leído 144 veces)

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

Desconectado micronet3

  • PIC18
  • ****
  • Mensajes: 251
800 bytes por el puerto serie
« en: 14 de Junio de 2018, 12:13:31 »
saludos

es posible enviar 800 bytes como una sola trama por el puerto serie?, estoy haciendo uso de un ft232 para poder enviar estos datos de la pc al microcontrolador, y estaba dudando por la capacidad de este chip

gracias

Desconectado micronet3

  • PIC18
  • ****
  • Mensajes: 251
Re:800 bytes por el puerto serie
« Respuesta #1 en: 14 de Junio de 2018, 12:37:53 »
por lo que veo es que el ft232 tiene un buffer FIFO rx(128 bytes) y Buffer FIFO tx(256 bytes), segun los datos del datasheet del ft232, supongo que la ser un transceiver no almacena los bytes sino que inmediatamente lo reenvia

Conectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 6769
Re:800 bytes por el puerto serie
« Respuesta #2 en: 14 de Junio de 2018, 12:41:16 »
En varios paquetes creo que no hay limite.

El ""problema"" es que para USB Full-Speed el paquete mas grande es de 64bytes y para High-Speed es de 512 bytes.

Esto va a limitarte en la cantidad de datos de una sola ves que puedas transferir, pero que seguramente tu velocidad UART sea muy lenta como para que superes esos tamaños de paquetes. Me refiero que si por ejemplo transferis 64bytes al FT232, este lo envia y tiene espacio de sobra para que sigas enviando. (Tiene un buffer de 128bytes en rx)
La UART es mas lenta que el USB, por lo tanto si recibis, vas a recibir a la velocidad que vos elegiste.

El tamaño de paquetes no te va a limitar. Y podes enviar la cantidad de bytes que desees siempre y cuando puedas almacenarlo o tenerlos todos en tu microcontrolador, o podes tambien ir usandolos a medida que vayan llegando (que seria lo ideal). A simple vista verias como que envias 800 bytes, y recibis 800bytes, aunque es un poco mas complejo en el micro tener esos 800 bytes reservados solo para eso.

Para finalizar, tu unico limitante es el microcontrolador y su memoria, si podes procesarlo a medida que van llegando y podes definir un buffer no tan grande seria lo ideal. Desde el lado del microcontrolador es una UART que te envia 800 bytes.
« Última modificación: 14 de Junio de 2018, 12:43:58 por KILLERJC »

Desconectado micronet3

  • PIC18
  • ****
  • Mensajes: 251
Re:800 bytes por el puerto serie
« Respuesta #3 en: 25 de Junio de 2018, 16:36:50 »
ya ok gracias killerjc, voy a probar para enviar un paquete de 210 bytes(ya no 800) a una velocidad de 9600 a ver que tal resulta y les cuento!