|
а у меня неизвестное число DS18B20 и неизвестное число DS18S20 + "таблетки", адресные ключи, метки линии и т.п. При каждом старте надо было определить что подключено и скоко подключено :). там хитрый алгоритм в который я сутки втыкал - считывается бит адреса, потом инверсный бит, если результаты совпадают - значит произошла коллизия (на шине несколько устройств которые имеют различные значения этого бита), и записывается кто остаётся на линии (например 1 - тот у кого этот битик - 1-ка), остальные отключаются до сброса, дальше так точно... ну в несколько проходов можно вычислить все адреса :)). Только в пямяти надо держать этакое "дЭрЭво" ветвлений.
E-mail: info@telesys.ru