Цитата(SpiritDance @ Mar 22 2007, 14:27)

Фигли тут сомневатся. просто повтори косяк и понаблюдай. Веди лог пакетов.
Да как я только не повторял косяк. И с теми же адресами, и с другими. Да, вижу что посылка уходит, а возвращается ну полная белеберда, так как они оба начинают отвечать. Да только, ошибки такой и не повторилось. Согласен, что когда они начинали отвечать одновременно, то у меня было такое, что первый байт пакета (адрес) изменялся на адрес еще одного устройства, и то устройство считало что посылка для него, но! CRC то не совпало, поэтому устройство считает что пакет принят с ошибкой и откидывает его. Вот и все.
Цитата(SpiritDance @ Mar 22 2007, 14:27)

Синхронизацию по началу пакета жесткую сделай, то есть при приеме маркера начала пакета начинай принимать пачку заново.
Не совсем понял идею, извините. Я пользуюсь DMA, у меня стоит прерывание на таймаут, то есть если у меня таймаут превышает 1,5 байта, то я считаю что посылка принята и начниаю её обработку. Согласно указаниям ModBus. Проверяю адрес, CRC и если все совпадает, обрабатываю посылку и посылаю ответ. Или вы что-то другое имели ввиду?