=DeaD= писал(а):Ничего подобного - не один и тот же ответ, в случае с USERIAL мы получаем инвариантность формата запроса от адресуемого устройства, а тут нет. А значит либо драйвер обязателен, либо перекраивать программу при переходе от устройства на шлюз-контроллере к устройству на подчиненном контроллере, третьего не дано.
Я же вроде доступно объяснил, что формат запросов всегда один и тот же, и никак не зависит от способа подключения устройства. Мне сказать тут больше нечего, попробуй еще раз прочитать
viewtopic.php?f=69&t=5581&start=15#p88557 . Я вот понять не могу, что такого волшебного в USERIAL?
=DeaD= писал(а):Так всё-таки драйвер обязателен? Или если нет - тогда как тут быть?
Да. На стороне
шлюза обязательно будет
драйвер. То есть программа, знающая как общаться с конкретным устройством. И заметь - этот драйвер будет там
всегда, какой бы протокол команд не был выбран.
=DeaD= писал(а):Как он мапится?
Один к одному, однозначно. Набор элементов I2C - старт, чтение адреса, запись адреса, стоп. Старт и повторный старт - это одно и тоже. Старт всегда идет перед чтением или записью. Если ты внимательно перечитаешь мои посты, то увидишь, что я предлагаю иметь в протоколе еще и стоп.
- Код: Выделить всё
Мой протокол I2C
=============================
R ADDR S ADDR R
W ADDR S ADDR W
P P
Как видим, соответствие между элементами протокола однозначное
=DeaD= писал(а):Как мультистарт запрос сюда подцеплять, когда запись и тут же чтение ответа? Объявлять транзакцию? Мы ведь на ПК будем писать, тут потоки бывают независимые и им всем захочется потрогать наш i2c
Все точно так же, как и с протоколом USERIAL и им подобным. Покажи мне особенность моего протокола, которое делает доступ в нескольких потоках невозможным. И волшебную особенность, которое позволяет USERIAL иметь мультистарт, и которой нет у меня.
=DeaD= писал(а):А не корректней для начала не придумывать что-то своё, а сделать проверенное, то что 100% понятно как должно работать и проверено людьми, что 100% работает во всех ситуациях?
А вот это мне странно от тебя слышать
Как раз потому, что понятно как это работает - понятно, как это можно улучшить и упростить. Решения, принятые "для начала", зачастую остаются постоянными, а когда хочется что-то улучшить - приходится все ломать.