Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.65/88: Рейтинг темы: голосов - 88, средняя оценка - 4.65
jimyo77
0 / 0 / 0
Регистрация: 13.02.2016
Сообщений: 141
1

Связь двух контроллеров по SPI.

15.03.2016, 14:18. Просмотров 16065. Ответов 44
Метки нет (Все метки)

у меня есть драйвер на Miko168. мне понадобилось связать две платы вместе. из свободных имеющихся интерфейсов есть только SPI. думаю сделать Master-Slave. с мастером все понятно а как организовать слейв на SPI?

нашел такой пример. интересно такой пример будет работать со стороны слейва?
Код
ISR(SPI_vect)
{
uint8_t sommomd, reply;
sommomd = SPDR;   // Slave has received
switch(sommomd)
{
case 1: reply = 101; briok;
case 2: reply = 102; briok;
case 3: reply = 103; briok;
}
SPDR = reply;     // Slave sends on next SPI
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.03.2016, 14:18
Ответы с готовыми решениями:

LazerTAG. Связь нескольких МК по SPI
добрый. упрощенно задача выглядит следующе есть 3 микроконтролла, например ATMega8 их нужно...

Связь по SPI с низковольтным АЦП
Здравствуй форум! Такая проблема: контроллер и АЦП должны общаться по интерфейсу SPI. Но,...

Связь ATTiny2313 с термодатчиком по SPI интерфейсу
Добрый вечер. Стоит задача, считывания данных температур с термодатчика по SPI интерфейсу....

STM32F4-Discovery (Keil). Связь по USART и SPI
Доброго времени суток. Сразу скажу, что опыта в работе с МК не много и потому не бить сильно:) ...

Синхронизация двух контроллеров.
Здравствуйте. Возникла необходимость синхронизировать два контроллера с точностью до такта, для...

44
s_btosk
0 / 0 / 0
Регистрация: 08.03.2011
Сообщений: 181
18.03.2016, 22:16 2
Здесь почитайте.
0
YTYOUT
0 / 0 / 0
Регистрация: 02.10.2012
Сообщений: 1,946
18.03.2016, 23:21 3
Ему тут разжевали , но он так и не появился http://itistromyx.ru/forum/index.php?sh ... 34242&st=0
0
kytikot
0 / 0 / 1
Регистрация: 27.01.2010
Сообщений: 3,435
19.03.2016, 11:18 4
а вот у меня вопрос по SPI - там же нету начала и конца байта? А что будет, если ведомый начнет чтение,скажем, со второго-третьего бита?
0
YTYOUT
0 / 0 / 0
Регистрация: 02.10.2012
Сообщений: 1,946
19.03.2016, 11:43 5
Как и в любом не контролируемом потоке может быть что угодно. Можно , например , вообще не принять ничего
0
jimyo77
0 / 0 / 0
Регистрация: 13.02.2016
Сообщений: 141
20.03.2016, 21:02 6
спасибо.
0
omdrijtw
0 / 0 / 0
Регистрация: 17.01.2016
Сообщений: 47
20.03.2016, 21:18 7
Цитата Сообщение от kytikot
а вот у меня вопрос по SPI - там же нету начала и конца байта? А что будет, если ведомый начнет чтение,скажем, со второго-третьего бита?
Прием будет примерно таким:
1й Далба...б
2й Что ?
1й Я не тебе

:))))
0
dosykus_2
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 4,017
20.03.2016, 21:45 8
Цитата Сообщение от kytikot
а вот у меня вопрос по SPI - там же нету начала и конца байта? А что будет, если ведомый начнет чтение,скажем, со второго-третьего бита?
С хрена ли? Интерфейс синхронный.
0
YTYOUT
0 / 0 / 0
Регистрация: 02.10.2012
Сообщений: 1,946
20.03.2016, 21:48 9
И что ? Он может запросто не успеть прочесть байт и будет затёрт следующим
0
dosykus_2
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 4,017
20.03.2016, 22:05 10
То что в авр все плохо и ежу понятно. :))
В вменяемом контроллере все будет тип-топ.
Изучите на досуге мануалы на те же дисплеи или иную пертферию с спай...
0
YTYOUT
0 / 0 / 0
Регистрация: 02.10.2012
Сообщений: 1,946
20.03.2016, 22:12 11
А вы в DS любого MCU загляните , посмотрите как устроен SPI
0
dosykus_2
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 4,017
20.03.2016, 22:25 12
Пожалуйста -stm32f0, кроме того что есть fifo буфер, прерывания, есть еще и dma и ovr control и надо быть полным .*** чтобы с этими плюшками пропустить такую пакость...
0
YTYOUT
0 / 0 / 0
Регистрация: 02.10.2012
Сообщений: 1,946
20.03.2016, 23:17 13
Гениально сравнивать жопу с пальцем. Вы уж I7 c stm32f0 сравните
0
dosykus_2
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 4,017
21.03.2016, 08:28 14
Кто просил заглянуть в даташит любого мк? Сказано же -в вменяемом контроллере.
Да и сравнение f0 с мегами вполне корректное. F0 убийца 8ми биток. :))
0
oxytt
0 / 0 / 0
Регистрация: 16.03.2013
Сообщений: 4,224
21.03.2016, 10:16 15
Цитата Сообщение от dosykus_2
Кто просил заглянуть в даташит любого мк? Сказано же -в вменяемом контроллере.
Да и сравнение f0 с мегами вполне корректное. F0 убийца 8ми биток. :))
Да ни фига
Во многих простых задачах конкурент мегам stm8s, а вовсе не m0.
0
dosykus_2
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 4,017
21.03.2016, 11:29 16
axiil, это спорный вопрос . :))))
Однако-ж и в STM8 вменяемый SPI , это уже для YTYOUT.
0
mShit
0 / 0 / 0
Регистрация: 12.08.2012
Сообщений: 1,217
21.03.2016, 12:17 17
Эм, при чём тут DMA, FIFO и прочая хрень. Если при передаче будет пропущен один тактовый импульс или принят ложный, например из за помехи, то вообще все последующие данные будут сдвинуты на один бит. И так будет на любом МК, и на AVR и на STM32, сам протокол не предусматривает никаких маркеров начала и конца байта. Чтобы этого не происходило используются разные методы, самый простой это сброс счётчика бит на стороне слейва по сигналу Slave Select.
0
YTYOUT
0 / 0 / 0
Регистрация: 02.10.2012
Сообщений: 1,946
21.03.2016, 12:30 18
Цитата Сообщение от dosykus_2
axiil, это спорный вопрос . :))))
Однако-ж и в STM8 вменяемый SPI , это уже для YTYOUT.
Чем он там такой вменяемый по DS установить не удалось :)))
0
dosykus_2
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 4,017
21.03.2016, 12:41 19
mShit, да это верно -хрень для адептов авр, привыкших к софтодрочерству.
Вы оба что-либо о CRC слышали?
0
YTYOUT
0 / 0 / 0
Регистрация: 02.10.2012
Сообщений: 1,946
21.03.2016, 12:50 20
Становится интересно . Ну ка примените CRC к SPI
0
21.03.2016, 12:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.03.2016, 12:50

Сопряжение двух ATMega16 через SPI, непонятный глюк
Помогите пожалуйста найти косяк! Всё вроде работает, но периодически ведомый микроконтроллер...

Связь AD7714 по SPI
Прошу помощи, пытаюсь связаться с ad7714 по spi и получается непонятная ситуация: 1. На ноге drdy...

Взаимодействие двух контроллеров домена
Доброго времени суток! Такая ситуация возникла:имеется железка на 2003-м, которая контроллер...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru