ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
23 февраля
1499961 Топик полностью
Eddy_Em (20.02.2025 15:55, просмотров: 95) ответил vesago на Друзья, нужно мне в прибор добавить поддержку Modbus RTU. Есть уже некий проприетарный протокол по RS-485. Ну там чтение и запись неких данных. Правильно я понимаю, что я могу просто тупо подогнать структуру и в конце CRC16 готово? Повыкидывать стартовый символ и окончания. Пауза в 3.5 символа - строго? Я обычно после приема слейвом пакеты выдерживаю 3млс. Или тут все строго и нужно пересчитать на актуальную скорость? Есть ли какой готовый софт, чтобы проверить соответсвие?
Учитывая то, что с компьютера нереально сделать такие паузы, никакого "эталонного софта" физически существовать не может. Единственный смысл проверять - если реализуешь мастера и есть какие-то хитрожопые устройства, которые требуют строгого соответствия протоколу. Вот на них-то и нужно проверять. 

У меня, например, для проверок были только пара-тройка разных китайских релюшек на модбасе. И все они спокойно с моим мастером работали. Хотя я вообще не парюсь с этими 3.5 символами: окончанием пакета считаю прерывание IDLE. У меня на прием DMA шпарит себе все, что приходит, в буфер, а по IDLE буферы меняются и выставляется флаг - пакет готов. Можно проверить CRC и считать данные.

eddy-em.livejournal.com github.com/eddyem