Цитата(nameless @ Mar 4 2007, 15:34)

2 Сергей Борщ: С двумя резисторами, как мне кажется - доминантного нуля не получится....без него коллизию или break не обнаружить если например два устройства тянут вверх и лишь одно - в ноль.
Да и break - не удобно. Не все контролеры могут так слушать без использования PIO. Есть желание все-таки сделать доминантный ноль и отказаться от break:
Или я чего не понимаю, или....
С break-ом не нужен доминантный 0. У трансивера 485 есть 3 состояния.
- передача (силовая) нуля
- передача (силовая) единица
- высокий импеданс
Так вот передача нуля несколькими устройствами не будет конфликтовать с высоким импедансом остальных девайсов. Ну а "конфликт" двух (нескольких) передатчиков передающих одно и тоже состояние (в данном случае 0) на порядки более мягкий чем когда борятся единица с нулём.
Цитата
1. Простой уарт всегда отловит отрицательный перепад и примет хотя-бы один байт при возникновении коллизии.
Перепад отловит, а вот стопового бита может и не быть.... и соответственно приёма байта тоже.
Цитата
Тогда простое сравнение CRC и длины посылки с тайм-аутом даст четкий признак коллизии.
Какой CRC в одном байте или где?
Цитата
2. Если "честное" устройство всетаки присутствует, то в процессе поиска можно заставлять его отдать первичный идентификатор, дать ему вторичный идентификатор и тем самым заставить молчать при повторном поиске устройств в том-же диапазоне.
Попытайтесь рассказать нам весь обмен по опросу всех девайсов, желательно на примере?