Доброго времени суток уважаемые форумчане!
По названию темы вряд ли можно понять, что мне требуется, объясню подробнее. Есть устройство, которое работает в двух различных режимах. Оба режима очень требовательны к объему ОЗУ для размещения "условно глобальных" переменных, которые могут меняться и в прерывании и в основном цикле. Устройство переходит из одного режима в другой по нажатию кнопки, по выставленному после нажатия флагу. Получается, что есть два набора "условно глобальных" переменных никак не пересекающихся друг с другом, существующих только в пределах текущего режима. Каждый режим использует только свою группу переменных и не обращается ко второй группе. Объема ОЗУ микроконтроллера не достаточно для одновременного хранения двух групп переменных. Как реализовать на Си алгоритм при котором, при входе в один режим инициализировалась одна группа переменных, доступных как для основного цикла, так и для прерываний, а переходе во второй режим - освобождалась память, занятая предыдущей группой и инициализировалась вторая группа переменных, физически находящаяся по адресам первой группы переменных? В программировании на Си новичек, пните пожалуйста в нужном направлении. Компилятор IAR AVR.
|