ДЕЙЛ 32 7 октября, 2014 Опубликовано 7 октября, 2014 · Жалоба ..а если выкачать все, а в память класть сколько места есть, а потом выдавать тот де блок но окно сдвигать и так пока блок не кончиться. Насколько помню, в конце сектора имеется какая-то контрольная сумма, поэтому для надёжности его нужно весь в буфер считывать и проверять правильность данных. Этот момент уточни. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Xenia 45 7 октября, 2014 Опубликовано 7 октября, 2014 · Жалоба я понял (и одобряю), что предполагается останавливать тактовый сигнал - наверняка не по SD интерфейсу, а по SPI с картой работаете - тогда просто CS приподнимать, а после передачи куска 32, 64 или сколько влезет, хоть 1 байт - продолжать операцию чтения блока с SD. Ну, нет уж. Дергать CS, когда блок еще недочитан, никак нельзя. Едва ли после этого чтение блока продолжится со старого места. CS в этом месте лучше вообще не трогать, если на работу с SD-картой выделен отдельный SPI. Да и в противном случае было бы лучше связь не разрывать. Насколько помню, в конце сектора имеется какая-то контрольная сумма, поэтому для надёжности его нужно весь в буфер считывать и проверять правильность данных. Авось, если это аудиоплеер, то из без проверки контрольной суммы сойдет. :) Тем более непонятно, что делать, если та контрольная сумма не совпадет где-то в середине проигрываемой записи. Читать блок повторно до победного конца, как заезженный CD-диск? К тому же, может быть заранее неизвестно, с контрольной суммой был записан аудиофайл или без оной. Я не так давно в FatFs ковырялась, так там контрольная сумма вообще не проверяется, а при записи на ее место пишется FFFF и в комментарии говорится "CRC Dummy". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться