Bueno.
He utilizado un pic18f452 que tiene uart y SPI por separado porque era físicamente imposible manejar ambas señales con el mismo pin.
Pero sigo teniendo problemas de fiabilidad del dato guardado en el pendrive.
A veces me abre el archivo y grabo 65k bytes sin problemas y sin perder un solo dato, pero la mayoría de las veces ocurre lo siguiente: Me escribe una palabra de comando dentro de los datos.
Eso quiere decir que el vdip espera más datos cuando yo ya le he mandado todos los bytes correspondientes y al mandarle el comando de cerrar archivo me lo toma como dato, el de crear otro archivo me lo toma como dato , me coje más datos que estaban destinados al segundo archivo hasta llenar su cantidad de bytes que le habia dicho anteriormente que le mandaría, se queda en la parra esperando el comando cerrar mientras el pic sigue enviándole mas datos para el segundo archivo. Hasta que le llega el comando cerrar archivo y cierra el primer archivo.
Claro que el segundo archivo nunca existirá.
El pic hace lo siguiente:
1- manda comando crear archivo #1
2- manda comando "te voy a mandar 15322 bytes" (por ejemplo)
3- manda datos (15322 bytes)
4- manda comando cierro archivo #1
pausa
5- manda comando crear archivo #2
6- manda comando "te voy a mandar 10521 bytes" (por ejemplo)
7- manda datos (10521 bytes)
8- manda comando cierro archivo #2
Hay algo que no alcanzo a comprender, he estado probando con distintas pausas entre bytes de datos, entre apertura y cierre de archivos, bajando la velocidad de transmisión, pero nada...
Pierde datos , en algún punto pero no sé donde ni por qué.
Ya mañana seguiré investigando