Например TDA7294

Форум РадиоКот • Просмотр темы - Вопрос по SPI.
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Ср апр 24, 2024 00:51:20

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Вопрос по SPI.
СообщениеДобавлено: Чт сен 20, 2018 22:18:10 
Потрогал лапой паяльник

Зарегистрирован: Ср янв 26, 2011 17:00:30
Сообщений: 396
Рейтинг сообщения: 0
Изучаю работу SPI на AVR. Для начала элементарно хочу из регистра данных SPDR достать данные. На AVR Studio все работает. Proteus отказывается. В чем подвох ?
Записываю в SPDR данные (ну типа получил их от другого устройства) и тутже хочу их перенести в другой порт через переменную.
AtMega8.
Код:
(DDRB=(0<<DDB7) | (0<<DDB6) | (1<<DDB5) | (0<<DDB4) | (1<<DDB3) | (1<<DDB2) | (0<<DDB1) | (0<<DDB0);
.....
// SPI initialization
// SPI Type: Master
// SPI Clock Rate: 250,000 kHz
// SPI Clock Phase: Cycle Start
// SPI Clock Polarity: Low
// SPI Data Order: MSB First
SPCR=(0<<SPIE) | (1<<SPE) | (0<<DORD) | (1<<MSTR) | (0<<CPOL) | (0<<CPHA) | (0<<SPR1) | (0<<SPR0);
SPSR=(0<<SPI2X);
....
SPDR=0xAA;
data=SPDR;
PORTD=data;


В архиве проект если шо.


Вложения:
SPI.7z [23.44 KiB]
Скачиваний: 147
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по SPI.
СообщениеДобавлено: Чт сен 20, 2018 22:46:35 
Друг Кота

Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 6881
Откуда: .ru
Рейтинг сообщения: 4
prw07 писал(а):
Записываю в SPDR данные (ну типа получил их от другого устройства) и тутже хочу их перенести в другой порт через переменную.

"Тут же" не получится... Надо дождаться окончания передачи/приёма данных.
Вложение:
SPI.jpg [225.47 KiB]
Скачиваний: 207

Цитата: "После того как один байт был полностью сдвинут, устанавливается флаг окончания передачи SPIF."

SPDR=0xAA;
while(!(SPSR & (1<<7))); // ждём флаг окончания передачи SPIF.
data=SPDR;
PORTD=data;

Ну или тупо поставить задержку... ))

SPDR=0xAA;
delay_ms(10); // ждём окончания передачи.
data=SPDR;
PORTD=data;


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по SPI.
СообщениеДобавлено: Пт сен 21, 2018 06:42:51 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 1
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
при этом не получится и "те же самые" данные считать - после окончания передачи там будут принятые данные.

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Вопрос по SPI.
СообщениеДобавлено: Пт сен 21, 2018 08:20:17 
Потрогал лапой паяльник

Зарегистрирован: Ср янв 26, 2011 17:00:30
Сообщений: 396
Рейтинг сообщения: 0
Спасибо.
Короче, так как я хотел не получиться. Надо передавать данньіе.


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Вопрос по SPI.
СообщениеДобавлено: Сб сен 29, 2018 11:18:29 
Встал на лапы

Карма: 12
Рейтинг сообщений: 12
Зарегистрирован: Сб апр 28, 2018 20:29:42
Сообщений: 99
Рейтинг сообщения: 8
если мне память не изменяет, то это не очень хорошо ставить паузу для получения данных. Там надо проверку по флагу ...


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Вопрос по SPI.
СообщениеДобавлено: Пн окт 15, 2018 12:47:52 
Это не хвост, это антенна
Аватар пользователя

Карма: 8
Рейтинг сообщений: 193
Зарегистрирован: Чт июн 10, 2010 20:11:19
Сообщений: 1441
Рейтинг сообщения: 0
Записываю в SPDR данные (ну типа получил их от другого устройства) и тут же хочу их перенести в другой порт через переменную.

"Получил от другого устройства"? По тому же SPI? Если так, сначала примите данные, потом передавайте.
Код:
uint8_t SPI_send(uint8_t data){
  SPDR = data;
  while( !(SPSR & (1<<SPIF))){} //ни в коем случае не (1<<7)! Для пустого тела цикла не ставьте точку с запятой, это чревато ошибками. Либо пустые скобки как у меня, либо continue;
  return SPDR;
}
...
uint8_t temp = SPI_send(0); //принимаем данные
SPI_send( temp ); //передаем то что принято

В целом, непонятна задача. Вы хотите одни и те же данные послать двум получателям? А что мешает посылать одновременно? Или по очереди, но сохраняя в переменной?
Код:
SPI_send( data );
SPI_send( data );


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по SPI.
СообщениеДобавлено: Пн окт 15, 2018 12:55:31 
Потрогал лапой паяльник

Зарегистрирован: Ср янв 26, 2011 17:00:30
Сообщений: 396
Рейтинг сообщения: 0
https://radiokot.ru/forum/viewtopic.php?f=57&t=157695 сюда загляните, пожалуйста.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 23


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y