реклама на сайте
подробности

 
 
> SD карта памяти в SPI режиме...., Очень простой вопрос
MiklPolikov
сообщение Feb 28 2008, 07:36
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702



Почему моя карточка отвечает не синхронно с передачей в неё байта ?
Т.е первая половина ответа карточки приходится на первый передаваемый в неё байт (FF), а вторая половина-на следующий. Конечно же мой контроллер этот ответ принять не может.
Что я не так делаю ?


--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
MiklPolikov
сообщение Mar 1 2008, 00:56
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702



Излогаю проблему ещё раз, максимально полно. Расчитываю на помощь !

Ответы карточки не синхронны с FFами, которые я в неё шлю, что бы принять ответ.
Т.е. первая половина ответа приходится на один FF, а вторая-на следующий.
Поэтому из приёмного буфера SPI в МК я получаю непойми что. Хотя на экране осциллографа видно,
что карточка отвечает- проблема только в том, что я этот ответ не могу принять. Что я не так делаю ???

Всё на прикреплённых картинках. И код- на всякий случай.

void sent_byte(char B )
{
SETBIT(SPCR,MSTR ); // Контроллер будет Master
SPDR=b; // Начинаем передачу
while (!TESTBIT(SPSR,SPIF )) {} ; //Ждём завершения передачи
data=SPDR;
if (!TESTBIT(data,0x07 )) received_data=data;
}

.........
CLEARBIT(PORTB,CS ); //Сбрасываем CS

sent_byte(0xFF );

sent_byte(0x40); //Передаём CMD0
sent_byte(0x0);
sent_byte(0x0);
sent_byte(0x0);
sent_byte(0x0);
sent_byte(0x95);



sent_byte(0xFF); //Ждём ответ
sent_byte(0xFF); //
sent_byte(0xFF); //
sent_byte(0xFF); //
sent_byte(0xFF); //
sent_byte(0xFF); //

Сообщение отредактировал MiklPolikov - Mar 1 2008, 00:58
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 


--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
Go to the top of the page
 
+Quote Post
zltigo
сообщение Mar 1 2008, 08:19
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(MiklPolikov @ Mar 1 2008, 03:56) *
Что я не так делаю ???

1. Не сочли за труд ознакомиться с многочисленными постами Ваших многочисленных предшественников или хотя-бы с официальными/полуофициальными документами.
2. Начали засорять форум дублями сообщений.
Все остальное следствие п.1
а) кто будет давать пачку клоков после включения питания?
б) почему Вы решили, что карточка обязана сразу ответить чем-то разумным? - ждите R1_IDLE в течение не менее 8 посылок.
в) кто будет отмечать CS начало CMD00?


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 10:29
Рейтинг@Mail.ru


Страница сгенерированна за 0.02371 секунд с 7
ELECTRONIX ©2004-2016