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