Как сохранить файл изображения во флэш памяти Mega2560?

dbf-334
Offline
Зарегистрирован: 13.11.2015

Повторюсь, изображение нужно сохранить во флэш памяти Mega2560, а не на SD-карте. Как это можно сделать, может кто пробовал заняться этим уже? :)

Хочется попробовать хранить мелкие картинки и html страницы во внутренней памяти МК, для формирования WEB-страниц. Просто там еще достаточно места остается для всего этого дела... Стало интересно! )))) SD-слот теперь не цепляет..

Buzzer2010
Buzzer2010 аватар
Offline
Зарегистрирован: 10.03.2016

SD-слот хорошо цепляет на DUE :) Он там просто летает.

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Очень просто - курите PROGMEM.

Buzzer2010
Buzzer2010 аватар
Offline
Зарегистрирован: 10.03.2016

DIYMan пишет:

Очень просто - курите PROGMEM.

Покурим, чо. Интересно же. А вдруг пригодится? :)

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Buzzer2010 пишет:

DIYMan пишет:

Очень просто - курите PROGMEM.

Покурим, чо. Интересно же. А вдруг пригодится? :)

Вот, например, как иконка у мну в проекте во флеш-памяти хранится:

const unsigned char RADIO_CHECK_ICON[] PROGMEM = {
0x00,0x00,
0x00,0x00,
0xC0,0x03,
0xF0,0x0F,
0x38,0x1C,
0x18,0x18,
0x8C,0x31,
0xCC,0x33,
0xCC,0x33,
0x8C,0x31,
0x18,0x18,
0x38,0x1C,
0xF0,0x0F,
0xC0,0x03,
0x00,0x00,
0x00,0x00
};

 

Buzzer2010
Buzzer2010 аватар
Offline
Зарегистрирован: 10.03.2016

DIYMan пишет:

Buzzer2010 пишет:

DIYMan пишет:

Очень просто - курите PROGMEM.

Покурим, чо. Интересно же. А вдруг пригодится? :)

Вот, например, как иконка у мну в проекте во флеш-памяти хранится:







const unsigned char RADIO_CHECK_ICON[] PROGMEM = {
0x00,0x00,
0x00,0x00,
0xC0,0x03,
0xF0,0x0F,
0x38,0x1C,
0x18,0x18,
0x8C,0x31,
0xCC,0x33,
0xCC,0x33,
0x8C,0x31,
0x18,0x18,
0x38,0x1C,
0xF0,0x0F,
0xC0,0x03,
0x00,0x00,
0x00,0x00
};

Ага, я такое видел в "myGLCD.print()" в "UTFT.h" - там фотку надо представить в виде массива и она хранится в теле скетча по "extern". Неэкономно с точки зрения памяти. Интересно как можно html-ы так хранить. Фотки-то понятно..

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Buzzer2010 пишет:

Неэкономно с точки зрения памяти. 

Ахахах, спасибо, насмешили :) Куда уж неэкономней - хранить во флеш-памяти массив байт? Да, ооочень расточительно, ооочень. Учитывая тот факт, что оперативки этот способ хранения не трогает ни на копейку. И этот способ - то же самое, что лежащий где-нибудь на SD-карточке файл. Только лежит этот "файл" не на SD, а во флеш-памяти самого контроллера.

Считаю, что такой способ хранения не сильно большой информации - очень удобен, и именно из-за перекоса по кол-ву оперативки и флеша: флеша, как правило, в запасе ещё жопой ешь, а оперативка уже подошла к концу.

Buzzer2010 пишет:

Интересно как можно html-ы так хранить

Да точно так же, какая разница, байт - он и в Африке байт:

const char MY_HTML[] PROGMEM = "<html>BLA bla BLA";