Je me demandais comment créer un protocole de communication UART / USB sûr. J'en ai besoin pour la communication entre un microcontrôleur et un PC. J'ai ~ 10 commandes et j'ai pensé utiliser 10 commandes d'accusé de réception distinctes pour chacune d'entre elles.
L'échange devrait se dérouler comme suit:
- Le PC envoie une commande de réveil via UART
- µC reconnaît que le PC est connecté et envoie sa commande au PC, par exemple.
0x01 - Le PC fait ce qui lui a été demandé (certains éléments matériels) et répond
~0x01quand c'est fait (je nie le nombre pour créer une "distance" plus grande entre les deux nombres) - µC sait qu'il a envoyé
0x01et attend~0x01du PC. Si autre chose que~0x01revient, le µC saura que quelque chose s'est mal passé et enverra une nouvelle demande ou un message d'erreur
Le cas que le µC envoie 0x01, le PC comprend 0x02et renvoie ~0x02mais le µC lit à ~0x01cause d'un certain bruit serait assez mauvais.
Dans quelle mesure est-ce sûr en termes de transmission, ou comment puis-je le rendre plus sûr?