Страница 1 из 1

I2c с помощью USI в attiny84.

Добавлено: Чт апр 20, 2023 15:02:07
Viper_Snake
Народ, прошу помощи. Кто касался использования аппаратного I2C в тиньках? Необходимо реализовать передачу данных в режиме Мастер->слейв, используя аппаратный трансивер контроллера, без сторонних библиотек и ардуиновского ногодрыгания. В даташите очень мало информации и складывается такое впечатление, что блок USI в этих контроллерах очень урезан. Хотелось бы увидеть пример реализации коммуникации на C с использованием контрольного регистра USI.
Нашел неплохую статью на easyelectronic, но там речь идёт о блоке TWI, который изначально заточен именно под I2C. А вот про USI ни слова...

Re: I2c с помощью USI в attiny84.

Добавлено: Пт апр 21, 2023 11:50:39
Игорь_396

Re: I2c с помощью USI в attiny84.

Добавлено: Ср май 03, 2023 16:28:01
Viper_Snake
Да, увидел. Короче полноценного автомата i2c там нет, что печально.

Re: I2c с помощью USI в attiny84.

Добавлено: Ср май 03, 2023 20:22:41
Игорь_396
Полноценный есть в 817, 16хх и им подобных.. Придут скоро, буду тестить. Корпуса у них правда не для лута.

Re: I2c с помощью USI в attiny84.

Добавлено: Сб сен 02, 2023 21:09:18
Nicochip
Как для режима i2c "master", USI малопригоден. Это далеко не TWI. Он больше заточен на то, что камень будет использован в режиме i2c "slave", да ещё и большую часть времени будет в спячке. Там даже такой урезанный USI просто незаменим.

Re: I2c с помощью USI в attiny84.

Добавлено: Чт сен 21, 2023 19:24:41
quwy
[uquote="Viper_Snake",url="/forum/viewtopic.php?p=4410513#p4410513"]Да, увидел. Короче полноценного автомата i2c там нет, что печально.[/uquote]
Того, что есть, вполне достаточно для безгеморойной полуаппаратной реализации. Открытый сток для линий I2C есть, буферный сдвиговый регистр -- тоже. Остальное легко делается программно. Простейший master-only стек на C выходит около 160 байт.