Сотрудничество с SD картой памяти

Все прочитали, вроде даже поняли, взяли паяльник - а нифига не получается? Скорее сюда! Поможем. Чем можем...
Ответить
Прорезались зубы
Аватара пользователя
Сообщения: 244
Зарегистрирован: Вс апр 17, 2011 21:38:10

Сообщение Protobear »

Ребята коты, у меня беда : карта памяти инициализируется отсылает 0x01 потом 2 раза молчит на 0x41(вывод из ожидания) и 0x58(запись одного блока) а после отсылки блока не выдает ответ и пишет не те данные что я подаю вот код отправки байта и код отправки кодов отправки байтов, может кто - то обосрет норм и мы придем к истине?
******** ОТПРАВКА БАЙТА *******
void SD_give(char tor)
{
for (int s=0;s<8;s++)
{
if ((tor&0x80)==0x80)
{PORTB|=0x08;}
else
{PORTB&=0xF7;}
tor=(tor<<1);
_delay_us(100);
PORTB|=0x20;
_delay_us(100);
PORTB&=0xDF;
}
PORTB&=0xF7;
}
********" ОТПРАВКА ОТПРАВОК БАЙТОВ "*******

SD_give(0xfe); // token для команды типа 0x58
for (int p=0;p<514;p++)//514 байт (512 данные и 2 произвольная CRC)
{
SD_give(0xf2);
}

PS так при отправке 0xf2 в хекс редакторе наблюдаются 0xcb
прилагаю диаграмму из протеуса c SCK и DataO
Вложения
Безымянный.png
(102.81 КБ) 355 скачиваний
Реклама
Прорезались зубы
Аватара пользователя
Сообщения: 244
Зарегистрирован: Вс апр 17, 2011 21:38:10

Сообщение Protobear »

Ув. Protobear, проблема уже решена вами в будущем, не волнуйтесь.
Реклама
Ответить

Вернуться в «Практика»