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 debería 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.
0x01
- La PC hace lo que se le pidió (algunas cosas de hardware) y responde
~0x01
cuando se hace (niego el número para crear una "distancia" mayor entre los dos números) - µC sabe que se envió
0x01
y espera~0x01
de la PC. Si~0x01
vuelve a aparecer algo diferente , el µC sabrá que algo salió mal y enviará una nueva solicitud o un mensaje de error
En el caso de que el µC envíe 0x01
, la PC lo comprende 0x02
y lo envía, ~0x02
pero el µC lee ~0x01
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?