Me preguntaba cómo crear un protocolo de comunicación UART / USB seguro. Lo necesito para la comunicación entre un microcontrolador y una PC. Tengo ~ 10 comandos y pensé que usaría 10 comandos de reconocimiento separados para cada uno de ellos.
El intercambio debe ser así:
- La PC envía un comando de activación a través de UART
- µC reconoce que la PC está conectada y envía su comando a la PC, por ejemplo. %código%
- PC hace lo que se le pidió (algunas cosas de hardware) y responde con
0x01cuando se hace (niego el número para crear una "distancia" mayor entre los dos números) - µC sabe que envió
~0x01y espera0x01desde la PC. Si algo diferente a~0x01regresa, el µC sabrá que algo salió mal y enviará una nueva solicitud o un mensaje de error
En caso de que el µC envíe ~0x01 , la PC comprenda 0x01 y envíe 0x02 de vuelta, pero el µC lee ~0x02 debido a algún ruido sería bastante malo.
¿Qué tan seguro es eso en términos de transmisión, o cómo puedo hacer esto más seguro?