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

 
 
> Опять про SPI для ATmega, Подскажите как реализовать Slave...
Vladimir_T
сообщение Oct 6 2006, 08:44
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 517
Регистрация: 7-02-06
Пользователь №: 14 073



Перечел документацию и ранние посты на данную тему и уяснил:
1) Что приемник SPI в процессоре не формирует прерывание после приема символа;
2) Активизируются по SS только интерфесные линии;
3) Пусть для генерирования внешнего прерывания для MCU сигнал SS заведу еще и на INTx, тогда по заднему фронту SS будет вырабатываться вн. прерывание и смогу вычитывать содержимое из SPDR.

Это будет работать?
Может есть более красивые решение организации прерывания по приему от SPI в ATmega?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Vladimir_T
сообщение Oct 6 2006, 09:25
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 517
Регистрация: 7-02-06
Пользователь №: 14 073



Нет в ATmega прерывания от приемника SPI !!!

Видимо нужно конфигурировать SPI мастером, а когда по SS появляется сигнал, то мастер принимая это как обращение к себе самому переключается в Slave и устанавливается флаг прерывания SPIF. И тогда это прерывание уже будет от приемника !!! А это, то что и нужно. Это в документации нашел при ее перечитывании. Должно получиться?
Go to the top of the page
 
+Quote Post
=GM=
сообщение Oct 6 2006, 10:46
Сообщение #3


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(Vladimir_T @ Oct 6 2006, 08:25) *
Нет в ATmega прерывания от приемника SPI !!!

Если ATmega - ведущий (мастер), то нет прерывания от приемника, а если ATmega - ведомый (слейв), то будет прерывание после приема байта. Вам же КИТ-WHALE(:-) подробно ответил.

Цитата(Vladimir_T @ Oct 6 2006, 08:25) *
Видимо нужно конфигурировать SPI мастером, а когда по SS появляется сигнал, то мастер принимая это как обращение к себе самому переключается в Slave и устанавливается флаг прерывания SPIF. И тогда это прерывание уже будет от приемника !!! А это, то что и нужно. Это в документации нашел при ее перечитывании. Должно получиться?

Должно. Этот режим используется, если инициатором передачи может быть любой МК. Не забывайте поставить опять режим мастера, поскольку мастер переключается в слейв и там и остается.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 16:45
Рейтинг@Mail.ru


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