|
Как инициализировать структуру в ЕЕПРОМ |
|
|
|
Aug 5 2009, 18:57
|

Частый гость
 
Группа: Участник
Сообщений: 83
Регистрация: 4-08-09
Из: Болгария / София
Пользователь №: 51 737

|
Как можно инициализировать структуру в ЕЕПРОМ използуя полей (имена полей) внутри структуры?
Сегодня из форума я узнал как сделать инициализацию ЕЕПРОМа с фиксированного адреса:
__root __eeprom uint8_t zast1[11] @ 0x2A = {0xFF, 0x44, 0x33, 0x11, 0x88, 0xAA, 0x77, 0x22, 0x44, 0xEE};
Но не могу понять как инициализировать структуру в ЕЕПРОМ ползуя имена полей. Например:
typedef struct { uint8_t status; /* STATUS */ uint8_t ID; /* ID */ uint16_t VER; /* VER */ } header_t;
Как можно инициализировать например поле status, ID, VER индивидуально? Я не хочу тратит програмный памяти для установки данны, хочу поставить данны директно в ЕЕПРОМ (EEP file).
__root __eeprom header_t myEEPROM = { status = 2, ID = 14, VER = 8 }; /* НЕ РАБОТАЕТ */
Конечно я могу установить ЕЕПРОМ не применяя полей структуры, но код будет хуже для поддержки.
Сообщение отредактировал Student2 - Aug 5 2009, 19:00
|
|
|
|
|
 |
Ответов
|
Aug 6 2009, 06:06
|
Знающий
   
Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317

|
можно так Код typedef struct { char status; /* STATUS */ char ID; /* ID */ int VER; /* VER */ } header_t;
__root __eeprom header_t myEEPROM = {.status = 2, .ID = 14, .VER = 8}; P.S. пока инет тормозил уже ответили.
|
|
|
|
Сообщений в этой теме
Student2 Как инициализировать структуру в ЕЕПРОМ Aug 5 2009, 18:57 Dog Pawlowa Или = { 2, 14, 8 }
или myEEPROM.status=2; myEEPROM... Aug 6 2009, 04:49 xelax Я что-то не понимаю какая разница где расположена ... Aug 6 2009, 06:05    ReAl Цитата(xelax @ Aug 7 2009, 08:50) В С++, ... Aug 7 2009, 06:56     xelax Цитата(ReAl @ Aug 7 2009, 10:56) Только С... Aug 7 2009, 08:27      ReAl Цитата(xelax @ Aug 7 2009, 11:27) А конст... Aug 7 2009, 13:15 xelax Ну да всё правильно говорите.
Я и не утверждал чт... Aug 7 2009, 13:45
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|