реклама на сайте
подробности

 
 
> Подкиньте идею организации массива данных.
zheka
сообщение Jan 15 2011, 19:57
Сообщение #1


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



Следующая задачка. ОПять же ради бога, не подумайте что я прошу писать за меня программу. Просто мне хочется совета от человека, который напишет ее рациональнее чем я.

Итак, нужно сделать массив для заполнения таблички.
1 колонка - порядковый №
2 колонка - заголовок
3 колонка - сохраняемая настройка
4 колонка - текущее состояние.

Ясно что первую и вторую колонки нужно сохранять во flash. УДобнее будет и заполнять и редактировать.
3 колонка - однозначно eeprom
4 колонка - ram.

Возникают следующие мысли - сделать структуру в RAM типа:

Код
typedef struct {
unsigned char chain_id; //номер цепи
char header_1;          // строка 1 заголовка
char header_2;          // строка 2 заголовка
char header_3;          // строка 3 заголовка
unsigned char key_id;   // номер ключа коммутирующего цепь (сохраняемая в eeprom настройка)
unsigned char default;  // состояние по умолчанию (сохраняемая в eeprom настройка)
unsigned char diagnos;  // результат диагностики цепи (записывается в RAM во время работы)
unsigned char state;    // включен/выключен (записывается в RAM во время работы)
} TChain;


TChain CHAINS[40];

unsigned char eeprom key_ids[40];
unsigned char eeprom defaults[40];


и вот дальше я что-то застрял... думается что массив CHAINS будет формироваться после загрузки, заполнять его путем переписи из key_ids и defaults, кроме того, такой же массив с заголовками создать во flash...

А надо ли это? может быть тупо пользоваться по отдельности массивами key_ids, defaults и массивом заголовков из flash ??
СТруктура конечно удобная, но нужна ли она в данном случае?

Как бы вы организовали операции с данными в описанной ситуации?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 22:51
Рейтинг@Mail.ru


Страница сгенерированна за 0.01374 секунд с 7
ELECTRONIX ©2004-2016