IPB

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V  < 1 2  
Ответить в данную темуНачать новую тему
> Простой протокольчик под RS-485
_pasha
сообщение 14.8.2010, 8:36
Сообщение #21


тот самый
Иконка группы

Группа: Мод
Сообщений: 13629
Регистрация: 24.11.2009
Из: Харьковская обл., UA
Пользователь №: 25



Рассматривается вариант формата пакета, в котором байт адреса - не первый байт, а предпоследний, и он реально не передается, а принимающая сторона может восстановить его 3/4/8 вариантами проверок CRC. Конечно, 3 варианта лучше.
Это все позволяет снизить вдвое длину буфера пакета (до 16 байт) и впихивать его ужЕ во всякую мелочь без проблем.
Это и будет протокольчег.
Если у кого-то есть аргументы, дескать, использовать неявные данные - это ненадежно, отпишитесь плз.
Перейти в начало страницы
 
+Цитировать сообщение
_pasha
сообщение 14.8.2010, 11:52
Сообщение #22


тот самый
Иконка группы

Группа: Мод
Сообщений: 13629
Регистрация: 24.11.2009
Из: Харьковская обл., UA
Пользователь №: 25



Цитата(Огурцов @ 14.8.2010, 9:54) *
Конечно ненадежно. В случае ошибки при передаче пакета при восстановлении адреса окажется, что пакет адресован другому слейву. Так вот он его и исполнит.

Понятно, что if(CRC_valid && ADDR_match)receive() и if(CRC_valid){if(ADDR_match) receive();} это в вобщем случае не одно и то же.
Проверил. Вероятность ошибки не меняется и для случайных одиночных искажений составит
0.78% для пакетов макс длины
0.23% Для пакетов случайной длины
[attachment=1645:shturm.zip]
Перейти в начало страницы
 
+Цитировать сообщение

2 страниц V  < 1 2
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 28.3.2024, 21:45