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

SPI обновление данных

20.10.2013, 17:05. Просмотров 3348. Ответов 7
Метки нет (Все метки)

Всем доброго времени суток.. Помогите разобраться

Есть два мк (мега8), соединяются по интерфейсу spi

Один мк (мастер) всё время шлёт данные (8бит) на второй (слейв), причём эти данные могут меняться (стоит 8-штырьковый тумблерок которым я собственно и управляю единичкой или ноликом)

Слейв принимает и выводит всё это дело на светодиодики

Так вот, при первой подаче питания на оба мк одновременно, нормальной передачи не наблюдается

Только при длительном (порядка 5сек) нажатия на кнопку RESIT на Слейве, светодиоды нормально отображают 8бит

Аналогично при включении/выключении какого любо из тумблерков на Мастере (изменении данных), Слейв отображает новые данные только после длительного нажатия на RESIT

Вопрос: как добиться такой передачи, чтобы при изменении данных не нужно было сбрасывать слейв...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.10.2013, 17:05
Ответы с готовыми решениями:

ATmega128. Пересылка данных с USART в SPI
Доброго времени суток, мне требуется реализовать пересылку символов с USORT в...

Помогите реализовать передачу данных по UART или SPI
Доброго времени суток, обращаюсь к вам форумчане за помощью. Требуется передать...

Организация 8 параллельных SPI каналов приема данных
Добрый день. У меня есть 8 гироскопов, подключаю их сейчас к Ардуино. Канал...

SPI -> 485->SPI
Есть необходимость переводить SPI на 485 интерфейс. Хотел бы уточнить, драйвер...

SPI Xmega
Есть учебное задание соединить 2 МК Xmega 182A1 Возникла проблема, с ведомым....

7
YTYOUT
0 / 0 / 0
Регистрация: 02.10.2012
Сообщений: 1,946
20.10.2013, 17:25 2
Кода нехватает
0
sko33
0 / 0 / 0
Регистрация: 26.08.2013
Сообщений: 128
20.10.2013, 17:36 3
Скорее я и виноват, буду всё ещё раз перепроверять, в попыхах немного тему создал...
0
YTYOUT
0 / 0 / 0
Регистрация: 02.10.2012
Сообщений: 1,946
20.10.2013, 18:31 4
А Вы добавьте сразу готовность slave к приему данных, типа запрос ответ , глядишь и рассосётся проблемка
0
sko33
0 / 0 / 0
Регистрация: 26.08.2013
Сообщений: 128
22.10.2013, 16:47 5
Цитата Сообщение от YTYOUT
А Вы добавьте сразу готовность slave к приему данных, типа запрос ответ , глядишь и рассосётся проблемка
да... я так и сделал, путём управления выводом SS у обоих МК.
Я запараллелил SS мастера с SS слейва.
SS у мастера сконфигурировал как выход, а у слейва как вход

На Слейве только обрабатывал данные

На Мастере отправлял данные так:

1. Программно установил низкий лог уровень на SS (соответственно в ходе работы устройств низкий лог уровень стал и на слейве, модуль сипиай активировался и уже можно передавать данные)
2. Передал данные
3. Программно установил высокий лог уровень на SS (в этом случае слейв перейдёт в режим ожидания, модуль сипиай переходит в неактивное состояние)

^^^естественно всё это в бесконечном цикле

Как итог получилось так:

передача ожидание передача ожидание и т.д.

всё нормально в этом случае, происходит нужное мне обновление данных

Но вот что хочется, но колется

Иногда мне нужно чтобы слейв становился мастером, а мастер слейвом

Это можно сделать опять таки управляя выводом SS...
На мастере только нужно сконфигурировать SS как вход и подать на него высокий лог уровень. Модуль сипиай воспримет это как "переключение" мастера в слев режим.

Эх.. Но тогда у каждого мк придётся отобрать одну ножку из любого порта под управление SS - так как запараллеливание SS приведёт к конфликту...........
0
YTYOUT
0 / 0 / 0
Регистрация: 02.10.2012
Сообщений: 1,946
22.10.2013, 17:01 6
Оба Slave , кто первый встал того и тапки
0
dimyurk1978
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 3,047
22.10.2013, 17:21 7
Цитата Сообщение от YTYOUT
Оба Slave , кто первый встал того и тапки
YTYOUT хотел сказать, что когда у МК mostir включен SPI и на пине SS 0 - то МК становится Slave. Мораль - SS для Slave взять с другого пина МК mostir.
0
YTYOUT
0 / 0 / 0
Регистрация: 02.10.2012
Сообщений: 1,946
22.10.2013, 17:43 8
Идейка была в том что на обоих режим SLAVE , оба SS входы, один из проверив вход SS обнаружив 1 роняет ее в 0 (чтобы пуля не пролетела) , назначает себя мастером и ----> slave/ Заканчивает и на исходную позицию
0
22.10.2013, 17:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.10.2013, 17:43

SPI и Proteus
Подскажите где я не прав... Пытаюсь организовать обмен по SPI интерфейсу....

SPI raspberry pi
Доброго времени суток. Разбираюсь с spi в raspberry. К сожалению ничего...

Вопрос по SPI
Всем привет! Мучает такой вопрос. При передаче байта по SPI на каждый импульс...


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

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

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