Как я могу реализовать протокол последовательной связи в объектно-ориентированной форме?

Я работаю со встроенным устройством, которое подключено к ПК через RS232.

Мне нужно создать программное обеспечение для связи с этим встроенным устройством.

Программирую на Delphi. Раньше я никогда не использовал объектно-ориентированный подход. Но я пытаюсь это изменить.

Я не могу мыслить объектно-ориентированным образом, чтобы решить эту проблему.

У меня есть этот протокол:

<STX><STX><COMMAND>[<DATA><DATA>...]<CHKSUM><ETX>

где:

<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).

Компьютер с программным обеспечением отправит команду через последовательный порт, и устройство ответит, используя тот же протокол.

Например:

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>

Я должен отправить поток файлов на устройство.

Я бы хотел бы получить предложения и / или примеры того, как лучше всего реализовать это объектно-ориентированным способом. Я бы тоже хотел иметь возможность выполнять модульное тестирование.

Спасибо

5
задан BalusC 23 October 2011 в 15:26
поделиться