TripleKill писал(а):HHIMERA, поделитесь кодом?)
Мне тема SD, на данный момент, не интересна... поэтому и кода нет... да и "по сроку службы не положено"...
Хотите - открывайте тему, ищите единомышленников (кому это интересно)... "помогу чем смогу"...
Там всё просто...
Как вариант...
Берёте Ченовские примеры PetitFat для PIC24 или LPC17XX, перетряхиваете их под STM32...
На SPI1 вешаете N1616, на SPI2 - SD...
После того, как всё это "как-то" заработало, берёте бубен, входите в нирвану и начинаете шаманить нипадецки...
1. SPI1 включаете в режиме 16bit и организовываете передачу 18bit данных на N1616 в непрерывном режиме с перекодировкой на лету...
Ориентир - время вывода картинки из флэша МК на дисплей 30-31 миллисекунд (в случае с STM32vldiscovery)...
2. Далее... Делаете копию функции pf_read и переименовываете её, допустим, в new_pf_read... (через неё и будем, в дальнейшем, работать)...
Делаете копию функции disk_readp и переименовываете её, допустим, в new_disk_readp...
В new_pf_read меняете disk_readp на new_disk_readp...
Новые функции, естественно, нужно прописать в h-файле...
В new_disk_readp после /* Receive a part of the sector */ переводим SPI2 в режим 16bit, перемешиваем чтение SD с выводом на N1616,
а перед /* Skip trailing bytes and CRC */ возвращаем SPI2 в режим 8bit...
Как-то так... здесь возможны и варианты...
3. В майне, или в какой функциии, при выводе c SD на N1616 обращаемся к new_pf_read, оставив родную pf_read для других целей...
После всего этого безобразия получаем время вывода картинки с файла на дисплей около 70 миллисекунд...