реклама на сайте
подробности

 
 
> использование USI Atiny24 как SPI
valera_o
сообщение Sep 15 2009, 12:51
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 46
Регистрация: 2-04-08
Пользователь №: 36 402



Читаю неделю на английском ничего не могу понять. Т.е. читаю назначение битов USICR - почти понятно но не работает. Перебрал комбинации - сим авр студии не показывает сдвижки данных в регистре USIDR.
Собственно нужно организовать обмен с ат45дб011.

USICR=0x13;

unsigned char spi(unsigned char data)
{
USIDR=data;
while ((USISR.USIOIF)==0)
{
PORTA^= (1<<SCL);
}
return USIDR;
}
Пробовал колбасить биты USICLK или USITC, сим показывает перепады на порту А, но сдвижки в усидр нет, флаг - молчит.
Помогите кто может... Вообще объясните, это просто "набор железа" для программной реализации или как? На аппаратную реализацию спи в мегах ну никак не похоже...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Александр Куличо...
сообщение Sep 16 2009, 14:21
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 256
Регистрация: 6-03-06
Из: Украина, г. Винница
Пользователь №: 15 017



Цитата
сейчас в симе аврстудии флаг устанавливается в "1" и цикл обходится

симулятору я обычно не доверяю. Да и в хелпе по симулятору написано, что "Simulation of TWI, USI and analog peripheral is not yet implemented."
Цитата
не совсем понятна физическая суть

"The clock is generated by the Master device software by toggling the USCK pin via the PORTA register or by writing a one to bit USITC bit in USICR."
То есть при записи "1" в USICR.USITC физически изменяется значение в регистре PORTA.PA5 на противоположное. Такого же эффекта можно было бы добиться, записав "1" в PINA.PA5. Но в первом случае программа не будет привязана к контроллеру (в меге169, например, USCK на пине E6)

PS Атмеловцы рекомендуют вместо
USISR|= 1<<USIOIF;//очистка флага
писать
USISR = 1<<USIOIF.
Отличается от предыдущей очисткой счетчика фронтов.

Цитата
программить микруху, а потом перебрасывать перемычками ноги

А почему сразу их не перебросить, до программирования?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- valera_o   использование USI Atiny24 как SPI   Sep 15 2009, 12:51
- - Rst7   В даташите же есть пример. Зачем самодеятельность ...   Sep 15 2009, 12:58
- - valera_o   Дело в том, что пробовал и такой вариант, но в сим...   Sep 15 2009, 18:58
- - Александр Куличок   посмотри AVR319 - Using the USI module for SPI com...   Sep 15 2009, 19:41
- - valera_o   #include <tiny24.h> #define USIOIF 6 #defi...   Sep 16 2009, 07:26
- - Александр Куличок   ЦитатаВисят "1" на моси и сцл и всё. Ат...   Sep 16 2009, 09:28
- - valera_o   Раньше такая очистка у меня работала, сейчас в сим...   Sep 16 2009, 12:09
- - valera_o   Не, ну я расстроен, наглухо. ат45дб отлично стыков...   Sep 16 2009, 14:18
- - valera_o   Если перебросить ноги "до", тогда нужно ...   Sep 16 2009, 20:40
- - Александр Куличок   Если писать SPI только под АТ45, то дело значитель...   Sep 17 2009, 14:17
- - valera_o   При передаче с контроллера одного бита, один бит п...   Sep 21 2009, 10:19
|- - ReAl   Цитата(valera_o @ Sep 21 2009, 13:19) При...   Sep 21 2009, 10:35
- - vladimir_orl   Читаю эту тему. И возникает вопрос. Вот для режимо...   Nov 29 2013, 11:34
- - s_black   Вот, может быть, здесь чё-то полезное почерпнёте. ...   Dec 3 2013, 06:32
- - GeorgyBey   И все-таки (уж извините за тупость) как в реале об...   Jul 3 2016, 13:14
- - ILYAUL   ЦитатаСимулятор вообще симулирует в этом случае чт...   Jul 3 2016, 18:39
|- - GeorgyBey   Цитата(ILYAUL @ Jul 3 2016, 21:39) ( если...   Jul 3 2016, 19:56
- - ILYAUL   Честно говоря , это настолько избитая тема связанн...   Jul 3 2016, 22:29


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th July 2025 - 18:17
Рейтинг@Mail.ru


Страница сгенерированна за 0.01403 секунд с 7
ELECTRONIX ©2004-2016