ATtiny 85: ищу пример ассемблера для USI

Обсуждаем контроллеры компании Atmel.
Ответить
Родился
Сообщения: 4
Зарегистрирован: Пн мар 12, 2012 16:53:16

Сообщение Cursedsmite »

Всех приветствую.
Нужно подружить 2 микрухи Atiny85 , чтобы они заговорили по атмеловскому интерфейсу USI в двухпроводном режиме (так называемый TWI у атмелов, но именно вот USI).
Потратил я уйму времени на поиски в тырнетах уже готового кода, но либо я глупый, либо тщетно. Я находил в даташите на микруху пример ассемблера для SPI и просто описание общего принципа работы USI в друхпроводном режиме, находил на сайте атмел пример кода на C в двухпроводном, написанный в среде IAR , которой у меня нету чтобы диссамблировать. Находил у ДиХалта подробное описание работы I2C интерфейса, но с примерами тоже к сожалению на C. Находил примера кода для TWI на ассеблере у того же ДиХалта, но всё равно, там логика работы несколько иная и регистры по другому устроены. Лазил по всяким забугорным сайтам, но там тоже либо TWI/SPI на ассме, либо USI/TWI/SPI написанный на C.
Соответственно - ищу пример кода Именно для работы USI в двухпроводном режиме написанный на ассемблере, либо пример кода на C написанный в WinAVR чтобы дизасемблировать через AvrStudio.
А пока я бросил эту затею поиска готового кода, и сам сижу разбираюсь и пишу свой код на ассме по всей той информации что я нашел про I2C интерфейс. Если кто-то может помочь просто советом - напишите в личку, я не понимаю пары кардинальных моментов как устроен USI, например какой регистр отвечает за адресс устройства? Или то значение которое я занесу в USIDR во время определение на приём или передачу работает мастер. И какой вообще алгоритм процедуры приёма/передачи. Нужно ли мне програмно дергать ножками через ПортБ или этим занимается регистр USICR и бит USITC?
Если тема была и обсуждалась, то простите. Поиск по ключевым словам USI , assembler ничего не дал.
Реклама
Ответить

Вернуться в «AVR»