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
~0x01
quand c'est fait (je nie le nombre pour créer une "distance" plus grande entre les deux nombres) - µC sait qu'il a envoyé
0x01
et attend~0x01
du PC. Si autre chose que~0x01
revient, 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 0x02
et renvoie ~0x02
mais le µC lit à ~0x01
cause 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?