SD+S5230
SD+S5230
Здравствуйте, мучаюсь уже 2 день с картой sd и изображением, голова кипит. Пишу в CVAvr, задача такая, вывести изображения с карты на дисплей от S5230. С памяти мк, выводит замечательно и быстро. А вот с карты никак не пойму как это сделать. Конвертирую bmp в массив flash char pic[ 0x00,0x23....] программой Img2LCD. С карты удается считывать с txt файлов числа и прочие символы.
disk_initialize(0); //инициализируем флешку
f_mount(0, &fs); //монтируем файловую систему
f_open(&fp, "0:/33.txt", FA_OPEN_EXISTING | FA_READ); //открываем файл 1.txt только для чтения
f_read(&fp, buffer,20, &br); //читаем в буфер 2 символа
f_close(&fp); //закрываем файл
Если представить buffer как набор чисел, и записать в функцию вывода изображения, получается бред какойто, вверху разноцветная полоска и все.
Я так понимаю нужно считывать по 512байт и склеивать их, но где взять столько памяти? Рыл в инете, но кроме плееров, народ ничего не делает, да и не особо они используют библиотеку ff.h в CVAvr.
и еще, есть такое прерывание:
interrupt [TIM1_OVF] void timer_comp_isr(void)
{
TCNT1H=T1_INIT>>8;
TCNT1L=T1_INIT&0xFF;
disk_timerproc(); }
функция disk_timerproc в описание идет как прерывание через 10мс, без нее совсем нельзя, или чтоб хотябы таймер не занимала?
мне в принципе нужно около 1мб для рисунков, может стоит использовать микросхему памяти вместо флешки, скорость где лучше будет?
disk_initialize(0); //инициализируем флешку
f_mount(0, &fs); //монтируем файловую систему
f_open(&fp, "0:/33.txt", FA_OPEN_EXISTING | FA_READ); //открываем файл 1.txt только для чтения
f_read(&fp, buffer,20, &br); //читаем в буфер 2 символа
f_close(&fp); //закрываем файл
Если представить buffer как набор чисел, и записать в функцию вывода изображения, получается бред какойто, вверху разноцветная полоска и все.
Я так понимаю нужно считывать по 512байт и склеивать их, но где взять столько памяти? Рыл в инете, но кроме плееров, народ ничего не делает, да и не особо они используют библиотеку ff.h в CVAvr.
и еще, есть такое прерывание:
interrupt [TIM1_OVF] void timer_comp_isr(void)
{
TCNT1H=T1_INIT>>8;
TCNT1L=T1_INIT&0xFF;
disk_timerproc(); }
функция disk_timerproc в описание идет как прерывание через 10мс, без нее совсем нельзя, или чтоб хотябы таймер не занимала?
мне в принципе нужно около 1мб для рисунков, может стоит использовать микросхему памяти вместо флешки, скорость где лучше будет?
- Реклама
-
uk8amk
- Поставщик валерьянки для Кота
- Сообщения: 2222
- Зарегистрирован: Вт ноя 27, 2007 11:32:06
- Откуда: Tashkent
Re: SD+S5230
Естественно скорость будет выше и ресурсов меньше там где без файловой системы. Плюс с микросхемой не надо специфичных танцев с бубном.
- eess9
- Вымогатель припоя
- Сообщения: 672
- Зарегистрирован: Ср фев 29, 2012 01:58:32
- Откуда: Харьков, Украина
Re: SD+S5230
Эти бубны появятся, когда он будет данные на эту память записывать. Навряд ли, у товарища есть универсатьный программатор, способный зашить SPI-ю флеш память. Придется писать специальную программу на МК.uk8amk писал(а):Плюс с микросхемой не надо специфичных танцев с бубном.
Re: SD+S5230
VXXXV, а на stm перейти не хотите? Там памяти много.
Re: SD+S5230
Да, программатора у меня нет такого, просто халявные микры завалялись, прийдеться делать на карте.
В планах конечно хотелось бы перейти на STM, но не этот проект, да и дорого мне переход выйдет. И по времени переход займет, а здесь бы побыстрей разобраться с флешкой, и если будет долго грузить картинку (80х80), то без них обойдусь.
В планах конечно хотелось бы перейти на STM, но не этот проект, да и дорого мне переход выйдет. И по времени переход займет, а здесь бы побыстрей разобраться с флешкой, и если будет долго грузить картинку (80х80), то без них обойдусь.
- Реклама
Re: SD+S5230
Ок. На будущее, программатор цена 4$.VXXXV писал(а):В планах конечно хотелось бы перейти на STM, но не этот проект, да и дорого мне переход выйдет.
http://bovs.org/post/107/programmator-o ... m8-i-stm32
http://www.ebay.com/itm/STM32F103C8T6-A ... 4adf0c3c46

-
uk8amk
- Поставщик валерьянки для Кота
- Сообщения: 2222
- Зарегистрирован: Вт ноя 27, 2007 11:32:06
- Откуда: Tashkent
Re: SD+S5230
Последовательные данные считываются быстро. А вот открытие файла ведёт к цепочке обращений по разным адресам.
Я делал один девайс где воспроизводятся звуковые фрагменты. На одной из карт были заметные на слух тормоза при открытии файлов.
Перечитал вопрос ТС и не понял.
Автор что, считывает с карты текстовый файл который нагенерил img2lcd и пытается напрямую скормить его экранчику?
Я делал один девайс где воспроизводятся звуковые фрагменты. На одной из карт были заметные на слух тормоза при открытии файлов.
Перечитал вопрос ТС и не понял.
Автор что, считывает с карты текстовый файл который нагенерил img2lcd и пытается напрямую скормить его экранчику?
Re: SD+S5230
http://radiokot.ru/forum/viewtopic.php?f=59&t=116437
uk8amk, код платный? Сколько стоит?uk8amk писал(а):Есть код проигрывателя, но без SPL. Если интересно - в ЛС.
Re: SD+S5230
не совсем так, генерю .с файл, в котором последовательность чисел (3 числа это цвет одного пикселя), на экран в виде текста эти числа выводяться, а вот как из него сделать массив с этими всеми числами, незнаю.uk8amk писал(а):Автор что, считывает с карты текстовый файл который нагенерил img2lcd и пытается напрямую скормить его экранчику?
-
uk8amk
- Поставщик валерьянки для Кота
- Сообщения: 2222
- Зарегистрирован: Вт ноя 27, 2007 11:32:06
- Откуда: Tashkent
Re: SD+S5230
Си файл - это текстовый файл. В нем информация лежит так как понятно для человека. Чтоб было понятно машине его надо парсить. Например, '0x00' - это не байт со значением 0, а целых 4 байта. Плюс пробелы, запятые, переводы строки - это все числа для проца.
Поэтому вы либо выбрали неподходящий инструмент, либо надо сохранять картинку в бинарном формате(мне неизвестны возможности этой утилиты).
Поэтому вы либо выбрали неподходящий инструмент, либо надо сохранять картинку в бинарном формате(мне неизвестны возможности этой утилиты).
Re: SD+S5230
программа еще сохраняет в формате ebm, написано как бинарный


