Показать сообщение отдельно
  #1  
Старый 04.10.2010, 19:00
aleks_bmw aleks_bmw вне форума
Прохожий
 
Регистрация: 04.10.2010
Сообщения: 2
Репутация: 10
По умолчанию выделение пакетов из буфера COM порта

Здравствуйте!!!

Для работы с com портом и шиной i - bus использую компонент Vacomm
параметры (9600 bps, 8 data bits, Even parity, 1 stop bit.)

требуется принимать пакеты следующего вида

Source ID, length, Destination ID , data , cksum

пример: 80 0A BF 13 00 13 00 00 00 00 20

80 устройство , 0A длина ,BF какому устройству ,(13 00 13 00 00 00 00) сообщение устройству , 20 XOR checksum (сумма байтов всего сообщения)

в событии OnRxChar я получаю байты из буфера com порта , т.к. пакет в большинстве случаев принимается не целиком а в несколько заходов , отсюда и возникла проблема с обработкой пакетов !!!

Прошу подсказать как полученные байты приводить в надлежащий вид т.е. в пакет для дальнейших действий с ними и как быть с неправильно принятыми пакетами ????
Ответить с цитированием