-
- буфер не обязательно 256 байт, CRC в экстремальных случаях считается "на лету". Тем более что считать CRC нужно только для своих пакетов. Для пакетов, которые подлежат обработке, но длиннее буфера, есть ошибка ILLEGAL_DATA_VALUE koyodza(186 знак., 01.04.2012 11:53 - 12:04)
- Я разве не об этом писал? "Тем более что считать CRC нужно только для своих пакетов." Пакет длиной более 8 байт есть не пакет для Юра... Ответ с exception вообще не содержит CRC... - zlogic(01.04.2012 13:49)
- с какой это радости "Ответ с exception вообще не содержит CRC"? Любой небитый пакет в ModBus RTU должен содержать CRC - koyodza(01.04.2012 16:36)
- Для Юра чисто прикладно легче единообразно считать CRC от начала до конца пакета, первые 8 складывать в буфер остальные нет. А уж потом анализировать и адрес количество пришедших и совпадение CRC, благо оно уже посчитано. Хотя конечно, можно, не Юра(101 знак., 01.04.2012 13:56, )
- если ресурсов мало, то удобнее именно дропать не складывая и не считая CRC все пакеты, которые адресованы не нам и не широковещательные. Всё равно на них отвечать не положено, и действий никаких производить тоже - koyodza(01.04.2012 15:15)
- Сам сейчас делаю устройство, в котором МК C8051F301 (всегда его использую в модулях, типа ADAM и ICPCON (протокол DCON), а тут заказчик захотел MODBUS)... В этом МК всего-то ОЗУ 256 байт, буфер разместить на 256 байт фрейма MODBUS нет никакой zlogic(114 знак., 01.04.2012 14:07 - 14:29)
- Вы можете хоть на голове стоять в своём девайсе, только он не будет от этого более полно соответствовать стандарту - koyodza(01.04.2012 15:17 - 15:20)
- Вы сами-то читаете то, что пишете? - zlogic(01.04.2012 15:37, ссылка)
- Вы можете хоть на голове стоять в своём девайсе, только он не будет от этого более полно соответствовать стандарту - koyodza(01.04.2012 15:17 - 15:20)
- Я разве не об этом писал? "Тем более что считать CRC нужно только для своих пакетов." Пакет длиной более 8 байт есть не пакет для Юра... Ответ с exception вообще не содержит CRC... - zlogic(01.04.2012 13:49)
- буфер не обязательно 256 байт, CRC в экстремальных случаях считается "на лету". Тем более что считать CRC нужно только для своих пакетов. Для пакетов, которые подлежат обработке, но длиннее буфера, есть ошибка ILLEGAL_DATA_VALUE koyodza(186 знак., 01.04.2012 11:53 - 12:04)