Je suis en train de travailler avec un périphérique embarqué connecté à un PC via RS232.Comment pourrais-je implémenter un protocole de communication série sous une forme orientée objet?
J'ai besoin de faire un logiciel pour communiquer avec ce périphérique embarqué.
Je programme en Delphi. Je n'ai jamais utilisé d'objets orientés dans le passé. Mais j'essaie de changer cela.
Je ne suis pas capable de penser d'une manière orientée objet pour résoudre ce problème.
Je possède ce protocole:
<STX><STX><COMMAND>[<DATA><DATA>...]<CHKSUM><ETX>
où:
<STX> is the Start of TeXt (0x55);
<COMMAND> can be 0x01 for read, 0x02 for write, etc;
<DATA> is any value;
<CHKSUM> is the checksum;
<ETX> is the End of TeXt (0x04).
L'ordinateur logiciel envoie une commande par série, et l'appareil répondra, en utilisant le même protocole.
Par exemple:
Reset command
PC sends : <STX><STX><0x09><0x00><CHKSUM><ETX>
Device answer: <STX><STX><0x09><0x00><CHKSUM><ETX>
Get Version
PC sends : <STX><STX><0x00><0x02><CHKSUM><ETX>
Device answer: <STX><STX><0x00><0x00><VER_L><VER_H><CHKSUM><ETX>
Je dois envoyer un flux de fichier sur le périphérique.
Je voudrais obtenir des suggestions et/ou des exemples de la meilleure façon d'implémenter ceci d'une manière orientée objet. J'aimerais pouvoir faire des tests unitaires aussi.
Merci
Les communications série nécessitent une machine d'état pour fonctionner correctement. Il y a de nombreuses façons de faire des machines à états orientées objet. – mj2008