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
0x01
cuando se hace (niego el número para crear una "distancia" mayor entre los dos números) - µC sabe que envió
~0x01
y espera0x01
desde la PC. Si algo diferente a~0x01
regresa, 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?