Скрипач, пророк (16.05.2010 14:34 - 14:39, просмотров: 58) ответил koyodza на для этого можно использовать разделение по времени, и пакеты фиксированной длины
Я делал так: - Оставляем выделенного мастера
- Мастер выставляет на шину адрес (один байт)
- Адресованный слейв, если есть что передавать,
отдает пакет фиксированной длины,
если нечего - однобайтовый NAK.
- Если в ответе ошибка, мастер формирует паузу
для синхронизации шины.
Если отвечать некому, пауза получается
автоматически :)
- Если "потока адресов" нет, происходит
"борьба за право быть мастером".
Передача от слейва к слейву происходит
за счет "подслушивания" потока на шине.
... но не любой ценой.