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

 
 
> SPI для ATMega32, Нужна помощь
Юран
сообщение Jan 29 2011, 16:44
Сообщение #1





Группа: Новичок
Сообщений: 5
Регистрация: 29-01-11
Пользователь №: 62 562



Здравствуйте! Очень нужна помощь. Мне нужно реализовать обмен данными по
протоколу SPI между мастером и моим устройством на ATMega32 (slave). От
мастера идёт пакет данных 12 байт, мне нужно их принять и в ответ
выслать свой пакет 12 байт.
В связи с этим несколько вопрос:
Если в режиме slave флаг прерывания выставляется не по низкому SS, а по
окончанию сдвига 1 байта (если я правильно понял) ,то как понять какой
это байт по счёту пришёл? И какой соответственно слать мне.

Я бы был очень признателен ,если бы кто-нибудь привёл пример кода с
пояснениями ,как реализовать данную передачу sm.gifПишу в CodeVisionAVR.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
alexeyv
сообщение Jan 31 2011, 05:37
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 298
Регистрация: 26-01-09
Из: Пермь
Пользователь №: 43 940



Цитата
Боюсь ,что мастер ничего об этом не думает) Протокол уже написан и вряд ли будет сильно меняться.


Если протокол уже есть, то значит надо изучать этот протокол, а не придумывать какие-то другие пути его решения, типа HDLC или номер байта в самом байте!!

Путей для изучения есть несколько:
1. Спросить автора протокола - самый правильный вариант
2. Поднять документацию на устройство, в случае недоступности автора - в нормальной конторе должа быть документация/описание на конторские/самостийные протоколы
3. Подключится осциллографом и изучать, изучать и еще раз изучать!!!! - это уж при недоступности п.п. 1 и 2.

А реализация протокола на Вашей стороне - это уже плод Вашего полета мысли, вариантов масса:
- прерывание или опрос
- ожидание синхрослова (если он есть) или вычисление паузы между пакетами
- ответ на запрос в том же пакете или в отдельном
- и т.д. и т.п. - зависит от построения протокола

Сообщение отредактировал alexeyv - Jan 31 2011, 05:41
Go to the top of the page
 
+Quote Post



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

 


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


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