Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: и все же как правильно читать SPI?
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему
vesel
писать туда научился...передатчик конфигурю как хочется ...а вот читать ...
вот кусочек кода ...
трансивер начинает отдавать по SPI данные своего регистра статуса по команде начинающейся с 0..
тоесть чтобы он начал передавать по SPI свои 2 байта мне нуна заслать туда например 0х00...

PORTB.7=0; вкл SS
char cmd = 0x00;
void spi_read(char cmd)
{

SPDR=cmd; // запрос на чтение регистра статуса
while((SPSR & 0x80)==0); // ждем окончания передачи
msb=SPDR;
}
PORTB.7=1; выкл SS

неясен момент ....а КТО тактирует во время чтения по SPI ? понятно когда я туда шлю команду...
а сколько? будет продолжаться тактирование и главное КТО? когда данные посыплются оттуда...
в даташите на трансивер показано что 2 байта отдаются сразу друг за другом ....
поможите люди добжи)))
zltigo
Цитата(vesel @ May 11 2008, 08:12) *
...чтобы он начал передавать по SPI свои 2 байта мне нуна заслать туда например 0х00...

a для продолжения - ПРОДОЛЖАТЬ передавать НЕ команды
vesel
а что тогда простите ему туда передавать ??
у него все что начинается с 1 .команда либо инитить его ,либо на ТХ отдавать..... даже получить с ФИФО данные тоже с 1начинается... .
единственная команда на чтение с него регистра статуса должна начинаться с 0.
тоесть для того чтобы получить 2 байта нужно отправить 0 ....
ээээ.......перед каждым байтом ? хммм... у него отдача идет сразу 2байта один за другим ....и не будет ли он на отправку мною по получению первого от него байта 0 считать что нуна все сначало ?!?! тоесть с первого байта .... и "всеже повторю свой вопрос по поводу магнитофона".... а кто SCK дергать то будет ....либо тогда трансивер должен сам тактировать свои данные либо у меня лыжи окончательно прилипли к асфальту ((
zltigo
Цитата(vesel @ May 11 2008, 08:59) *
а что тогда простите ему туда передавать ??

Тогда после команды безразлично что. Передавайте 0xFF.
Цитата
.и не будет ли он на отправку мною по получению первого от него байта 0 считать что нуна все сначало

Разумеется нет. Ну НЕТ на SPI отдельных приема и передачи НЕТ. По опредедению НЕТ.



Цитата(vesel @ May 11 2008, 08:59) *
..а кто SCK дергать то будет ....

Вот master передавая ПУСТЫЕ байты и будет дергать.
Вы бы хоть даташит какой-нибудь почитали полностью, а?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.