//ЧИТАЕТ СЕКТОР ДАННЫЕ В BUFFER: РЕЗУЛЬТАТ 1 - ОШИБКА 0 - НЕТ ОШИБОК
uint8_t SD_READ(uint32_t sector)
{
if (CADR_TYPE != SD_VER2HC) sector *= 512;
if (SPI_CMD(17, sector, 0x0, 0x00)) return 1;
CS();
R1 = 0;
while(SPI_SEND(0xFF) != 0xFE) //НАЧАЛО ДАННЫХ
{
if(R1++ > 0xFFFE)
{
DECS();
return 1;
}
}
for(R2 = 0; R2 < 512; R2++)
{
SPI_I2S_SendData(SPI3, 0xFF);
while(SPI_I2S_GetFlagStatus(SPI3, SPI_I2S_FLAG_RXNE) == RESET){}
BUFFER[R2] = SPI_I2S_ReceiveData(SPI3);
//BUFFER[R2]= SPI_SEND(0xFF);
}
//SPI_SEND(0xFF);
//SPI_SEND(0xFF);
//SPI_SEND(0xFF);
DECS();
return 0;
}