Portál AbcLinuxu, 7. května 2025 07:23
Řešení dotazu:
memcpy((void*) 0x2000, sinus256, sizeof(sinus256));
uint8_t val = sinus256[10];K přístupu je pak nutné používat funkce z knihovny <avr/pgmspace.h>
// platí pro 8bitové pole a MCU s flashí do 64kB uint8_t val = pgm_read_byte_near(&sinus256[10]); // nebo uint8_t val = pgm_read_byte_near(sinus256 + 10);Určit vlastní adresu by možná šlo vytvořením další sekce na konkrétní adrese. Ono PROGMEM je makrovaná funkce __attribute__((__progmem__)), kde __progmem__ je název sekce. Pro AVR procesory jsem nepotřeboval vytvářet nové sekce, takže zde už neporadím.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.