ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
27 апреля
857872 Топик полностью
fk0, легенда (24.07.2018 23:52, просмотров: 157) ответил Evgeny_CD на Для embedded устройства с фиксированным числом I2C устройств на шине не вижу смысла в ARP. Железно прибитые адреса самое то.
Это ты не видишь. В типичной офисной сети IP-адреса тоже статически раздать можно, да и провайдер клиентам тоже может... Только таблица соответствия адреса конкретному исполнительному устройству, или компьютеру, или микросхеме, она никуда не девается. Её нельзя просто записать в исходники (это будет говнокод 80-го уровня). И будешь значит делать менюшку, где у тебя будут эти адреса. И на платах включаемых в слоты, например, будут тоже наклеены шильдики с напечатанными адресами. И кто-то будет сидеть и руками вколачивать эти адреса при наладке. А потом, если платы однотипные -- их же и местами переставить можно и они функции поменять могут. А как быть на производстве, резисторов всего десяток штук предусмотрено. Будут попадаться платы с одним номиналом -- в одном приборе не применишь. Нет бы рандомный длинный UDID зашить ещё программатором и не морочить голову. Значит надо то ли резистор в панельку ставить, то ли свитч (переключатель) на плате для задания адреса. Нет -- если у тебя есть хоть один разъём и в него включаются множество однотипных плат -- резисторы плохая идея. Если конечно, резистор не подключен к контакту разъёма и адрес кодируется самим разъёмом, а не платой., Или всё не находится на одной плате. Тогда резистор -- хорошее решение. Но проблемы изобретения самодельного протокола, вместо использования готового, где детские болезни учтены -- не решает. Я назвал две очевиднейшие вещи: как понять, что адресат не сбросился, что он вообще присутствует, и что это он, и как сбросить всех одной командой при рестарте мастера.
[ZX]