Пт янв 09, 2009 14:45:37
Пт янв 09, 2009 19:10:01
Пт янв 09, 2009 21:58:34
Сб июл 11, 2009 16:47:34
Вс июл 12, 2009 08:20:40
Вс июл 12, 2009 09:25:05
Вс сен 05, 2010 20:55:33
Вс сен 05, 2010 21:33:12
Вт май 03, 2011 20:59:55
Вт авг 28, 2012 00:10:03
Вт авг 28, 2012 19:16:04
Ср сен 12, 2012 21:58:08
Вс сен 23, 2012 22:26:46
Пн сен 24, 2012 23:38:51
Чт сен 27, 2012 17:17:59
Чт сен 27, 2012 20:27:19
Если ответило на CMD0/1 - значит активировал.спящий писал(а):Вопрос наконецто у меня проходит CMD0,CMD1 а вот при чтении карты ошибка постоянно выводит FF,в чем причина может я неправильно активировал?
//CMD17 чтение байтов
data(0x51);
data(0x00);
data(0x00);
data(0x00);
data(0x10);
data(0x95);
Чт сен 27, 2012 22:38:50
Пт сен 28, 2012 09:36:10
Я самой первой командой подаю GO_IDLE_STATE, т.е. CMD0. Перед этим выдаю 10 байт 0xFF БЕЗ сигнала CS (CS=1). Т.е. даю 80 тактовых импульсов, чтоб карточка очухалась.спящий писал(а):использую mikroSD на 1 гб,сейчас сделал через переходник(адаптер) - неработает обратно вернул тоже(CMD0 выдает 0) -может быть неправильно активировал,нужно было через ACMD,
Я гуглил по всему инету, так что сейчас не скажу даже где взять. В этих инетах нашел и сырцы библиотек под SD. Тока не под AVR, хотя мне не под неё и нужно былоспящий писал(а):посоветуйте где можно прочитать или взять даташит?
Это название команды, из доков. Это CMD17спящий писал(а):а вот вы писали READ_SINGLE_BLOCK это имеется ввиду CMD или уже с библиотеке?
Карточке пофиг кто и как пишет на неёспящий писал(а):то что я записал файл на карточку через телефон - невыйдет боком(картридера нет)
В доке нарисовано же. После байта команды 4 байта аргумента, а данном случае адрес 1-го байта чтения от начала карточки. Записывается, начиная со старшего байта.спящий писал(а)://CMD17 чтение байтов
data(0x51);
data(0x00);
data(0x00);
data(0x00);
data(0x10);
data(0x95);
куда что нужно вписать(сектора?) читал нефига неразобрался.
BYTE CDataSD::SendCommandAndWait(BYTE cCommand, UINT nArg, bool bClose)
{
BYTE cSendBuffer[6];
cSendBuffer[0] = 0x40 | cCommand;
cSendBuffer[1] = (nArg >> 24 ) & 0xFF;;
cSendBuffer[2] = (nArg >> 16 ) & 0xFF;
cSendBuffer[3] = (nArg >> 8 ) & 0xFF;
cSendBuffer[4] = nArg & 0xFF;
......
Пт сен 28, 2012 23:28:52
Сб сен 29, 2012 12:51:58
Где-где содержимое файла, в кластере! А на кластер указывает описатель файла, а описатель файла лежит в кластере каталога... Короче говоря, ещё тот Кащей Бессмертный получаетсяспящий писал(а):Карточка начала отвечать,но где найти мне мои 123456789(a.txt)? как их прочитать?
Ещё бы, ты неправильно читаешь.спящий писал(а):Попытался схетрить непрерывно начал читать (года найдет 0x31 =1 начнет выдавать на экран) и вот что вышло)
Вот он какой - бан в Гугле, суровый и беспощадный.спящий писал(а):или чтобы найти файл надо изучать FAT,то подскажите с какой ссылки начать?
Конечно НЕТ. Я говорил уже : Для MMC/SD карт размером до 4 Гиг в команды записи/чтения передается адрес в байтах. Т.е. номер сектора умножаем на 512.спящий писал(а):И чтобы окончательно определиться,я правильно понимаю:
data(0x52);
data(0x00);
data(0x00);
data(0x00);
data(0x01); это читаем первый сектор
data(0x95);