можно ли данные хранить в памяти программы? и как это сделать в си?
eeprom и внешняя памяти не подходят...
Код: Выделить всё
__flash unsigned char RusFont5n4 [6][4] =
{
{0x3E,0x04,0x08,0x3E}, // -> И
{0x20,0x3E,0x0A,0x06}, // -> Ъ
{0x3E,0x02,0x3E,0x03}, // -> Ц
{0x3E,0x08,0x04,0x3E}, // -> N
{0x1C,0x22,0x2A,0x0C}, // -> G
{0x3C,0x02,0x02,0x3C} // -> U
};
Код: Выделить всё
_flash unsigned char RusFont5n4 [6][4] =
{
{0x3E,0x04,0x08,0x3E}, // -> И
{0x20,0x3E,0x0A,0x06}, // -> Ъ
{0x3E,0x02,0x3E,0x03}, // -> Ц
{0x3E,0x08,0x04,0x3E}, // -> N
{0x1C,0x22,0x2A,0x0C}, // -> G
{0x3C,0x02,0x02,0x3C} // -> U
};но всё равно что-то не очень-то и работает.... статья есть на http://www.avrfreaks.net/index.php?name ... ic&t=38003unsigned char a[] PROGMEM = {...};
Код: Выделить всё
unsigned char a[] PROGMEM = {очень много чисел};
void DrawPicture(...unsigned char *Pixels){
SetDDRAM();
for (uint16_t i = 0; i < SizeFram; i += 2) {
WriteData(*(Pixels + i), *(Pixels + i + 1));
}
}
Код: Выделить всё
pgm_read_byte_far(addr)для видеобуфера нужна внешняя SRAM (62256 например - 32кб)Mozart писал(а):ситуёвина такая... "изучаю" графический цветной дисплей (может потом пришлю статью)... на процесоре seps525 на каждый пиксел по 2 байта, т.е. чтобы вывести картинку хотя бы 60х66 нужно 7920 байт а память данных в at90can128 всего навсего 4кБайта при компиляции в WinAVR пишет что... хреново в общем памяти не хватает...
можно ли данные хранить в памяти программы? и как это сделать в си?
eeprom и внешняя памяти не подходят...