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

 
 
> Осваиваю MMC SPI mode, работает, но есть вопросы...
AndreyVN
сообщение Nov 15 2006, 12:33
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 754
Регистрация: 29-06-06
Из: Volgograd
Пользователь №: 18 458



Всем привет!
Народ, кто с MMC в SPI режиме работал? Хочу уточнить следующий момент.
Я отправляю в карточку команду, которая состоит из 6 байт. Если верить спецификации, то ответ (R1) генериться карточкой после первого байта команды (в котором сидит код команды, CMD0, CMD1...).
Код который я использую, естественно, из Интернета:

Цитата
char MMC_cmd(char befF, unsigned int AdrH, unsigned int AdrL, char befH)
{

MMC_spi(0xff);
MMC_spi(befF);
MMC_spi( (unsigned char) (AdrH>>8) );
MMC_spi( (unsigned char) (AdrH & 0xff) );
MMC_spi( (unsigned char) (AdrL>>8) );
MMC_spi( (unsigned char) (AdrL & 0xff) );
MMC_spi(befH);
MMC_spi(0xff);
return MMC_spi(0xff);
}


Не могу понять, зачем перед первым и после последнего байтов шлются FF, и почему ответ читается после всей посылки, да еще и 2 раза по FF после команды.

Хотя, отмечу, код работоспособный.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
aaarrr
сообщение Nov 23 2006, 13:56
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(AndreyVN @ Nov 23 2006, 13:45) *
Но размер сектора я ведь могу изменить, (кажется размер сектора сидит в CSD регистре) тогда, то тот-же адрес будет ссылаться на другой байт (начало сектора).
Возникает какая-то неоднозначность. Где я ошибся?

В регистре CSD это поле только для чтения. Размер блока можно установить командой CMD16, но значение, отличное от 512, как правило, вызывает ошибку при попытке записи. Кроме того, CMD16 не является обязательной для реализации.

Цитата(AndreyVN @ Nov 23 2006, 13:45) *
И еще, если мне надо изменить 1 байт в MMC карте (например в таблице размещения файлов), получается нужно считать сектор, внести изменения и записать сектор. Других путей нет?

Увы, нет.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 30th July 2025 - 07:37
Рейтинг@Mail.ru


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