Eu queria saber como criar um protocolo de comunicação UART / USB seguro. Eu preciso disso para a comunicação entre um microcontrolador e um PC. Eu tenho ~ 10 comandos e pensei em usar 10 comandos de reconhecimento separados para cada um deles.
A troca deve ser assim:
- PC envia comando de ativação via UART
- O µC reconhece que o PC está conectado e envia seu comando ao PC, por exemplo.
0x01
- O PC faz o que foi solicitado (algumas coisas de hardware) e responde
~0x01
quando termina (eu nego o número para criar uma "distância" maior entre os dois números) - O µC sabe que foi enviado
0x01
e está esperando~0x01
pelo PC. Se algo além de~0x01
voltar, o µC saberá que algo deu errado e enviará uma nova solicitação ou uma mensagem de erro
O caso que o µC envia 0x01
, o PC entende 0x02
e envia de ~0x02
volta, mas a leitura do µC ~0x01
devido a algum ruído seria muito ruim.
Quão seguro é isso em termos de transmissão, ou como posso tornar isso mais seguro?