Задача такая: сделать ведомый передатчик TWI из USI модуля.
С TWI знаком давно, помогите разобраться с работой USI. Сразу накидаю пару вопросов:
1. Если бы был мастер, то СТАРТ и СТОП пришлось бы формировать ручками, для чего выводы настраиваются как выходы. В остальное время DDRB.X в каком статусе должен находиться?
2. Прерывание по переполнению 4-битного счетчика по даташиту возникает при переходе с 15 на 0. Надо ли для того чтобы записалось 8-бит в регистр данных предварительно устанавливать значения счетчика = 7? У меня принимает правильно только если значение =0.
3. Как мне послать ACK или NACK?
Модераторам просьба не ругаться, поиском честно пользовался, ничего полезного по этому вопросу не нашел.
TWI из USI. Attiny 2313
- Реклама
Re: TWI из USI. Attiny 2313
Неужели нет на сайте людей, занимавшихся USI?
Re: TWI из USI. Attiny 2313
У меня толька-что USI заработал в качистве приёмника SPI
.. Интересно?..
Моя проблема как всегда, невнимательность(поначалу провода не туда припаял),.. а во вторых, оказалось АВР-студия при отладке не умеет эмулировать процесс приёма этим USI,(но в спаяном варианте всё заработало!).
Обьяснить суть врядли смогу, для самого половина загадка, магу поделится кодом...
*нашол русский даташит на тиньку 2313, но там мало о назначении регистров и флажков USI, зато абстрактно, но о принципе почитать чучуть есть
Моя проблема как всегда, невнимательность(поначалу провода не туда припаял),.. а во вторых, оказалось АВР-студия при отладке не умеет эмулировать процесс приёма этим USI,(но в спаяном варианте всё заработало!).
Обьяснить суть врядли смогу, для самого половина загадка, магу поделится кодом...
*нашол русский даташит на тиньку 2313, но там мало о назначении регистров и флажков USI, зато абстрактно, но о принципе почитать чучуть есть
