ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
24 апреля
1038507 Топик полностью
AlexBi (21.09.2020 18:17, просмотров: 211) ответил SciFi на Вот сам не так давно колхозил что-то похожее. Общая линия, у каждого устройства есть уникальный номер ("длинный"). Сделал процедуру сканирования адресного пространства методом деления пополам. Устройства должны уметь отзываться на команду "у кого старшие N разрядов адреса равны NNN, откликнитесь", а мастер должен видеть, что имеет место отклик одного или более устройств. Код процедуры получился простой до безобразия.
Добавление еще одного устройства в уже работающую линию не вызывает больших вопросов, после включения питания устройство слушает линию, видит что там, встраивается. Сложность вызывают два случая: 1) два устройства включены одновременно, оба видят что в линии ни чего нет, после чего оба пытаются стать главными, коллизия, которую они могут не заметить и решить, что каждое из них - единственное в линии. Что приводит к проблемному случаю 2) Две работающих линии соединяются между 

собой. Получается шум, гам, сплошные коллизии. Надо как-то разрулить эту ситуацию.