Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
04.06.2009, 12:39
|
|
Прописка
Регистрация: 24.09.2008
Сообщений: 116
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Сообщение от _OXY_GEN_
|
самый первый посылает сначала адрес второго...
|
Каким образом Вы определяете "самого первого"
__________________
Если мы вам не подходим, вы нам вовсе не нужны!
Услышал и забыл, увидел и запомнил, сделал и понял!
Нейрон - штука тонкая!
Чудес на свете не бывает!
|
|
|
|
04.06.2009, 13:02
|
|
Частый гость
Регистрация: 02.06.2009
Сообщений: 19
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
нажал на кнопку и пошел процес!в зависимости от того какая кнопка нажата,зависит какой конечный опрашиваемый контроллер
|
|
|
|
04.06.2009, 13:09
|
|
Частый гость
Регистрация: 02.06.2009
Сообщений: 19
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
при нажатии на кнопку у мк инициализируется сарт!
|
|
|
|
04.06.2009, 13:30
|
|
Прописка
Регистрация: 24.09.2008
Сообщений: 116
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Кто-то из нас чего-то не допанимает
Цитата:
|
...режим когда 1-й мастер опрашивает все остальные слейвы не подходит, данные должны проходить через каждый МК, который должен передавть их следующему...
|
Пусть так.
Далее
Цитата:
|
...идет сравнение слейва своего адреса и данных полученных от мастера, если не равны, то иницилизация режима мастера и посылка адреса следующему с этими же данными...
|
Что вкладывается в понятие "сравнение слейва своего адреса" в Вашем случае?
"с этими же данными" - если данные одни и те же, то зачем последовательно их пересылать от одного к другому, если мастер (в Вашем случае U1 по схеме) может их переслать каждому?
P.S.
Цитата:
|
...и т.д. до конца цепочки, как только последний принял данные, должны пойти в обратном порядке...
|
Чего должно быть в результате всего этого действа, если данные одни и теже. Может в ходе "путешествия" пакет данных все-таки меняется?
__________________
Если мы вам не подходим, вы нам вовсе не нужны!
Услышал и забыл, увидел и запомнил, сделал и понял!
Нейрон - штука тонкая!
Чудес на свете не бывает!
|
|
|
|
04.06.2009, 14:16
|
|
Вид на жительство
Регистрация: 03.06.2007
Сообщений: 368
Сказал спасибо: 3
Сказали Спасибо 59 раз(а) в 52 сообщении(ях)
|
P.S. Дествительно, реализовать в одной сети на шине I2C адресацию более 128 затруднительно.[/quote]
Есть другой вариант,мною проверенный.Я на шину TWI цеплял часики DS1307,а на программный I2C термометр DS1621.Всё отлично работает.Делал так потому что в отладочном модуле у меня эти устройства как отдельные платки,а переделывать в одну для проверки не было желания.
|
|
|
|
04.06.2009, 15:06
|
|
Частый гость
Регистрация: 02.06.2009
Сообщений: 19
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
да вопрос не в том мменяются данные или не меняются разницы нет!мне кто нибудь может подсказать как делать смену режимов слейва на мастер и наоборот!
|
|
|
|
04.06.2009, 15:22
|
|
Прописка
Регистрация: 24.09.2008
Сообщений: 116
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Сообщение от _OXY_GEN_
|
мне кто нибудь может подсказать как делать смену режимов слейва на мастер и наоборот!
|
Поторяю в третий, и наверно последний, раз (цитирую из DataSheet):
Ведущий (Master) - Устройство, инициирующее и завершающее передачу данных по шине, а также генерирующее тактовый сигнал SCL.
Ведомый (Slave) - Устройство, адресуемое ведущим.
Кто послал START - мастер, кто принял - слейв.
После TWEN=1 или STOP все ждут "следующей серии", все являются слейвами в "ждущем режиме".
__________________
Если мы вам не подходим, вы нам вовсе не нужны!
Услышал и забыл, увидел и запомнил, сделал и понял!
Нейрон - штука тонкая!
Чудес на свете не бывает!
|
|
|
|
05.06.2009, 04:32
|
|
Почётный гражданин KAZUS.RU
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
|
Сообщение от _OXY_GEN_
|
да вопрос не в том мменяются данные или не меняются разницы нет!мне кто нибудь может подсказать как делать смену режимов слейва на мастер и наоборот!
|
По принципу.. кто успел того и ТАПКИ
Типа, тот кто первый выставил на шину условие START тот и мастер... а кто не успел.. тот СЛЕЙВ до окончания сеанса...
|
|
|
|
05.06.2009, 13:57
|
|
Частый гость
Регистрация: 02.06.2009
Сообщений: 19
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
ну это понятно что при окончании вещания мастера, другой узел может тооже стать мастером сгенерировав старт,только как это реализовать программно?
|
|
|
|
05.06.2009, 15:36
|
|
Прописка
Регистрация: 24.09.2008
Сообщений: 116
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
О-о-о, лед тронулся.
Едим дальше!
Цитата:
|
ну это понятно что при окончании вещания мастера, другой узел может тооже стать мастером сгенерировав старт, только как это реализовать программно?
|
Что-бы помочь Вам прописать обработчики событий, нужно знать формат пакета данных, каторый вы передаете от одного к другому.
Ясно, что весь процесс трансляции у Вас начинается по нажатию кнопки (номер кнопки - конечный потребитель). Данные идут по одному и томуже пути от "основного" к "первому", от "первого" к .. и т.д. У Вас напрвление передачи может меняться (фраза - "потом обратно" - об этом говорит), поэтому либо в пакете данных должен быть признак направления , либо в программе должен быть "симафор", который определит, какому из ДВУХ "соседних" МК текущий МК, с данными, должен передавать пакет (исключение основной и последний). "Последний" , как я понимаю, меняет направление передачи , если какие-то там данные совпали.
Таким образом, анализируя весь процесс трансляции данных, арбитраж на шине может понадобиться только в том случае, если предыдущая посылка еще не дошла до "первого", а он уже хочет отправить очередную! В другом случае у Вас один мастер, каторый меняется по ходу пересылки пакета данных.
__________________
Если мы вам не подходим, вы нам вовсе не нужны!
Услышал и забыл, увидел и запомнил, сделал и понял!
Нейрон - штука тонкая!
Чудес на свете не бывает!
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 20:26.
|
|