2016-07-29 7 views
0

Я хочу отправить данные через последовательный порт, мой формат - Start_flag, Length, data, CheckSum, поэтому его 0xAA, 0x05, M, T, O, N, 0x78 На получателе после того, как он получает флаг начала, он получает 5 (len) данные. Я хочу подтвердить правильность полученной длины или нет? то я иду на получение данных. Потому что, если я получаю длину как 4, она создает ошибку. Может ли кто-нибудь мне помочь? Пожалуйста, .....Как проверить правильно ли полученную длину пакета последовательных данных?

+0

Вам нужно будет предположить, что это правильно. Если это не так, вы не узнаете это позже. Либо из-за таймаута (слишком большого), либо потому, что контрольная сумма не соответствует (слишком мала). –

+0

спасибо за ваше время – Siva

ответ

0

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

+0

благодарит за ваше время – Siva