Перейти к содержанию

GreenCrab

Members
  • Постов

    3
  • Зарегистрирован

  • Посещение

Весь контент GreenCrab

  1. @Никитос В итоге я что-то похожее и сделал. Только без реле. Теперь меги-хабы просто дают 0 на линию со своими слейвами, чтобы те начали слушать i2c. Ну, и еще одна линия, чтоб отключать ненужные хабы в момент общения мастера и слейвов. Проблема, можно сказать, решена. Раз уж нет способа "замкнуть" ноги, что было бы еще проще, чем сделано сейчас.
  2. Спасибо за ответы, но подобные решения я уже пробовал. Атмега является звеном между i2c master и i2c slave. Ее предназначение - расширение диапазона адресов. Т.е. я отправляю сигнал "открыть" на одну из таких атмег и она транслирует сигнал дальше. Проще говоря, за атмегой1 есть устройство с адресом 0x33 и за атмега2 есть устройство с таким адресом (см. картинку). Нужно обратиться (и получить ответ!) к одному из них. Потому вариант PORTB = PINC не подходит. Ведь slave тоже изменяет sda. К тому-же, если продублировать только scl, то slave не поймет команду. Видимо, атмега слишком долго выполняет инструкции и получается рассинхрон. Я хотел узнать, есть ли в атмегах какой-то магический регистр, который позволит замкнуть (буквально) две ножки между собой, чтоб сигнал проходил без задержек и в обе стороны. Вариант "проводок", разумеется, не подойдет. Разве что кто-то знает, как паять и отпаивать его средствами С
  3. Здравствуйте! Стоит задача использовать atmega8 в качестве повторителя/блокиратора сигнала. Т.е. атмега должна просто повторить сигналы полученные на i2c, выводя их на любые другие две ножи. Можно просто написать программу, которая будет, в бесконечном цикле, снимать сигнал с пина и ставить такой-же на дублирующую ножку, но я не уверен, что такое решение оптимальное. Есть ли возможность как-то настроить атмегу, чтобы две ножки были соединены в одну цепь ? REPEATER должен либо пропускать сигнал от i2c к RECEIVER, либо нет.
×
×
  • Создать...