Связь двух МК через обычный порт

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Друг Кота
Аватара пользователя
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Сообщение Engineer_Keen »

Если SPI аппаратный, то:
1) на обоих МК настраиваем SPI (мастер-слейв, скорость и пр. - обычно это пара регистров)
2) когда нужно передать информацию, опускаем ногу CS у мастера и кидаем ему в регистр SPDR байт, который нужно передать, если нужно передать более 1 байта, ждем конца передачи (по флагу или по прерыванию) и кладем в SPDR следующий байт.
3) на слейве ловим прерывание от SPI и читаем SPDR.
Вот и все.

Точно также UART, I2C, только регистры и настройка другие.
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 136
Зарегистрирован: Чт фев 10, 2011 21:31:51
Откуда: Ульяновск

Сообщение radiolubitel2011 »

А вот, к примеру, в USART скорость надо выбирать в зависимости от кварца. В SPI тоже так же?
И ещё: если у меня кварц 7,3 МГц, то какая скорость должна быть?
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Сообщение Engineer_Keen »

В случае с USART, скорость должна точно соответствовать у обоих контроллеров (+-%). В SPI все проще, скорость передачи не должна превышать 1/4 частоты слейва (иначе не он успеет считывать данные), и не может быть болше чем 1/2 частоты мастера (в силу конструкции контроллера).
Друг Кота
Сообщения: 6014
Зарегистрирован: Чт ноя 26, 2009 11:16:50
Откуда: Москва

Сообщение SmarTrunk »

Потому что в SPI вместе с данными передаются и синхроимпульсы, и данные принимаются по фронту (или спаду) синхроимпульсов.
Реклама
Эиком - электронные компоненты и радиодетали
Встал на лапы
Аватара пользователя
Сообщения: 136
Зарегистрирован: Чт фев 10, 2011 21:31:51
Откуда: Ульяновск

Сообщение radiolubitel2011 »

А у вас случайно нет примера кода USART или SPI (на C/C++ желательно)? Просто я что-то не соображу никак, как всё это сделать...
Контактная информация:
Реклама
s64
Потрогал лапой паяльник
Сообщения: 321
Зарегистрирован: Пн окт 18, 2010 21:18:21

Сообщение s64 »

откраваем даташит на понравившийся МК, там и примеры есть и разжевано все необходимое. Будут трудности - спрашивай.
Реклама
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»