texty v AVRGCC

HUDA hudaklan@volny.cz
Úterý Březen 28 06:55:45 CEST 2006


Dekuji to bylo ono. Myslel jsem si, ze kazda definice bude zabirat
dalsi pamet RAM pro promennou, ale ono se to chova jako define.
Jeste bych potreboval poradit s touto strukturou.

typedef struct{
  char x;         // pozice umisteni v ose X
  char l;          // delka textu
  PGM_P txt;  // ukazatel na text
  }MENU_ITEM;

typedef struct{
  char p;         // pocet polozek
  char y;       // radek
  MENU_ITEM *it;     // ukazatel na jednotlive menu
 }MENU_LINE;

MENU_ITEM item_6[] PROGMEM={
             { 0, 2,T_ON},
             { 3, 3,T_OFF},
             { 7,14,TC_PAPSEGM}};

MENU_LINE line_c[8] PROGMEM={
        {6,0,item_c0},        // radek 81
        {2,1,item_c1},
        {3,1,item_2},
        {6,1,item_3},
        {9,1,item_c4},
        {3,1,item_5},
        {3,1,item_6},
        {0,0,NULL}};

Prekladac hlasi
MENU5.c:81: warning: initialization discards qualifiers from pointer target 
type
totez hlasi i pro dalsi radky.
Samozrejme, kdyz zrusim PROGMEM v jednotlivych MENU_ITEM, tak je
vsechno OK, ale zabere se 8 az 24 byte RAM na jednu polozku MENU_ITEM.

Dekuji HUDA

----- Original Message ----- 
From: "Rosko, Peter" <Peter.Rosko@siemens.com>
To: "HW-news" <hw-list@list.hw.cz>
Sent: Friday, March 24, 2006 9:37 AM
Subject: RE: texty v AVRGCC


Zdravim,
definicia
const char disp_save_to_eeprom[] PROGMEM = "Save to EEPROM ?";

vlastne narabanie potom (napr)
sprintf_P(message_up, disp_save_to_eeprom );

je to popisane aj v FAQ v libc popise, hladajte "How do I put an array
of strings completely in ROM?"

p.rosko





Další informace o konferenci Hw-list