отправляю команду cmd18 ,должен быть ответ R1 (0x00) получаю 0x20 ошибка адреса.
Цитата
unsigned int read (unsigned long adress, unsigned long len)
unsigned char cmd18[6]={0x52,0x00,0x00,0x00,0x00,0x00};
unsigned char cmd12[6]={0x4C,0x00,0x00,0x00,0x00,0x00};
unsigned char f1 = 0;
unsigned int f2 = 10;
//***************
if(adress & 0x01 ){cmd18[4] |= 0x01;}
if(adress & 0x02 ){cmd18[4] |= 0x02;}
if(adress & 0x04 ){cmd18[4] |= 0x04;}
if(adress & 0x08 ){cmd18[4] |= 0x08;}
if(adress & 0x10 ){cmd18[4] |= 0x10;}
if(adress & 0x20 ){cmd18[4] |= 0x20;}
if(adress & 0x40 ){cmd18[4] |= 0x40;}
if(adress & 0x80 ){cmd18[4] |= 0x80;}
//***************
if(adress & 0x0100 ){cmd18[3] |= 0x01;}
if(adress & 0x0200 ){cmd18[3] |= 0x02;}
if(adress & 0x0400 ){cmd18[3] |= 0x04;}
if(adress & 0x0800 ){cmd18[3] |= 0x08;}
if(adress & 0x1000 ){cmd18[3] |= 0x10;}
if(adress & 0x2000 ){cmd18[3] |= 0x20;}
if(adress & 0x4000 ){cmd18[3] |= 0x40;}
if(adress & 0x8000 ){cmd18[3] |= 0x80;}
//***************
if(adress & 0x010000 ){cmd18[2] |= 0x01;}
if(adress & 0x020000 ){cmd18[2] |= 0x02;}
if(adress & 0x040000 ){cmd18[2] |= 0x04;}
if(adress & 0x080000 ){cmd18[2] |= 0x08;}
if(adress & 0x100000 ){cmd18[2] |= 0x10;}
if(adress & 0x200000 ){cmd18[2] |= 0x20;}
if(adress & 0x400000 ){cmd18[2] |= 0x40;}
if(adress & 0x800000 ){cmd18[2] |= 0x80;}
//***************
if(adress & 0x01000000 ){cmd18[1] |= 0x01;}
if(adress & 0x02000000 ){cmd18[1] |= 0x02;}
if(adress & 0x04000000 ){cmd18[1] |= 0x04;}
if(adress & 0x08000000 ){cmd18[1] |= 0x08;}
if(adress & 0x10000000 ){cmd18[1] |= 0x10;}
if(adress & 0x20000000 ){cmd18[1] |= 0x20;}
if(adress & 0x40000000 ){cmd18[1] |= 0x40;}
if(adress & 0x80000000 ){cmd18[1] |= 0x80;}
adress = 1;
Сообщение отредактировал sergey sva - Jan 13 2008, 16:10