Двустрочный дисплей и 4 кнопки курсора подключены к контроллеру. Надо написать большое древовидное меню с кольцевыми переходами в отдельных ветках. С точки зрения реакции на кнопки все пункты меню можно разбить на 4 группы, т.е. написать 4 разных обработчика: 1. переход по связям между пунктами меню, 2. редактирование числовых перемнных, 3. редактирование строковых переменных, 4. редактирование переменных-времени.
Хочу сделать на Си. Каждый пункт меню - элемент массива, тип - структура. Он будет определяться своим индексом в этом массиве. В структуре - поля: индекс родительского пункта меню, дочернего, левого, правого для горизонтальных переходов, строка на экран (первая строка), указатель на переменную(отображаемую/редактируемую на второй строке экрана), указатель на обработчик данного пукта меню. В основной программе все меню тогда сворачивается до вызова обработчика по указателю.
Массив меню хочется положить в программую флеш-память, поскольку структура статична и изменений не требует. Вопрос: как написать на Си его заполнение, чтобы в итоге компиляции он уже был готовый во флеш-памяти, а в программом коде не было никакого заполнения, а было только чтение при переходах по пукнтам меню?
|