//Флэш память(память программ).Для доступа и работы с ней есть файл pgmspace.h.Открывайте его и изучайте.
#include <avr/io.h>
#include <avr/pgmspace.h>
const char text1[] PROGMEM = {1,2,3,4};  //text1-указатель на байт вo Flash
const char text2[] PROGMEM = {5,6,7,8};  //text2-указатель на байт во Flash

PGM_P menu[4] PROGMEM = { text1, text2,};//menu-указатель на указатели во Flash
int main(void)
{
    unsigned char *pMenu;                //указатель на байт в Data
    unsigned char byte;
    pMenu=pgm_read_byte(&menu[0]);       //помещаем адрес указателя на text1 в pMenu
    byte=pgm_read_byte(&pMenu[0]);       //берем байт по адресу text1 во Flash  
    byte=pgm_read_byte(&pMenu[1]);
    byte=pgm_read_byte(&pMenu[2]);
    byte=pgm_read_byte(&pMenu[3]);
    
    pMenu=pgm_read_byte(&menu[1]);       //помещаем адрес указателя на text2 в pMenu
    byte=pgm_read_byte(&pMenu[0]);       //берем байт по адресу text2 во Flash
    byte=pgm_read_byte(&pMenu[1]);
    byte=pgm_read_byte(&pMenu[2]);
    byte=pgm_read_byte(&pMenu[3]);
    for(;;);
}

 

 

НАЗАД               Assembler AVR               Assembler PIC                 ДАЛЕЕ