Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

 
Опции темы
Непрочитано 27.09.2018, 18:52  
prw07
Частый гость
 
Регистрация: 01.02.2011
Сообщений: 25
Сказал спасибо: 4
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
prw07 на пути к лучшему
По умолчанию Не корректно работает передача Slave-to-Master по SPI

От мастера к слейву данные передаются правильно. В обратном направлении теряются байты (в Протеусе). Где ошибка ?

Master:
Код:
master_data_out=0xAA;  
 while (1)
      {   
       PORTB.2=0;      //SS to 0
       SPDR=master_data_out;
       while(!(SPSR & (1SPIF)));
        master_data_in=SPDR;
       PORTB.2=1;      //SS to 1  
      }
Slave:
Код:
 slave_data_out=0x04;
while (1)
      { 
      SPDR=slave_data_out;
      while(!(SPSR & (1SPIF)));  
      slave_data_in=SPDR;
      }
P.S. В цикле while знак здвига установлен. Почему-то после него тут все обрезает.)
Вложения:
Тип файла: zip SPI.zip (75.3 Кб, 0 просмотров)
Реклама:

Последний раз редактировалось prw07; 27.09.2018 в 18:59.
prw07 вне форума  
Непрочитано 27.09.2018, 20:41  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,246
Сказал спасибо: 11,163
Сказали Спасибо 3,855 раз(а) в 2,926 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Не корректно работает передача Slave-to-Master по SPI

prw07, тексты программ таки проще файлами вставлять с расширением .txt, тогда точно без искажений все пройдёт , а просмотр сжатого не на компьютере только проблем добавляет…
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума  
Непрочитано 28.09.2018, 15:17  
mimuh64
Прописка
 
Регистрация: 29.10.2008
Сообщений: 272
Сказал спасибо: 0
Сказали Спасибо 102 раз(а) в 95 сообщении(ях)
mimuh64 на пути к лучшему
По умолчанию Re: Не корректно работает передача Slave-to-Master по SPI

Сообщение от prw07 Посмотреть сообщение
От мастера к слейву данные передаются правильно. В обратном направлении теряются байты (в Протеусе). Где ошибка ?
Что-то помнится мне, что биты CPOL и CPHA в таком режиме нужно установить как CPOL=1, CPHA=1.... Так называемый "SPI Mode" номер три...
Глянул ДШ и свои примеры... там главное чтобы CPHA=1, а так можно CPOL и единице, и нулю приравнивать, главное чтобы и у мастера и слейва было одинаково. Таким образом "SPI Mode" 1 или 3. Фишка в том, что Мастер должен работать по одному фронту, а Слейв по другому.

Последний раз редактировалось mimuh64; 28.09.2018 в 15:48. Причина: дополнил
mimuh64 вне форума  
Непрочитано 29.09.2018, 10:28  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Не корректно работает передача Slave-to-Master по SPI

Да и прием данных надо бы в прерывании делать, а не флаги опрашивать.
Easyrider83 вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает SPI через DMA eddy ARM 13 20.01.2014 18:27
Программный SPI Slave для AVR artyomugr Микроконтроллеры, АЦП, память и т.д 17 28.06.2012 13:55
Proteus 7.6sp0 не корректно работает I2C ( TWI ) в AVR. chapa Proteus 5 15.12.2010 09:41
Передача данных по SPI на 20 метров KGN Микроконтроллеры, АЦП, память и т.д 17 20.08.2010 21:33
P89lPC935 SPI Slave kos_ua Микроконтроллеры, АЦП, память и т.д 1 01.02.2010 12:49


Часовой пояс GMT +4, время: 13:57.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot