Для хранения таймерной переменной требуется 256 байт.
Требования
- Должны быть специфицированы все поля для всех типов даже если Вы не собираетесь сохранять все типы переменных. В таком случае для неиспользуемого типа переменных Вы должны указать нулевой размер (за исключением аналогов, где минимальный размер - 4) и любой отличный от нуля адрес.
Пример:
Предположим, требуется резервирование
20 булевских переменных
0 аналоговых переменных
0 таймерных переменных
3 строковых переменных
Пусть память, питаемая от батареи, находится по адресу 0xA2F200.
Предположим, что:
Булевские переменные будут храниться, по адресу 0xA2F200 и будут занимать в точности 20 байт.
Аналоги будут по адресу 0xA2F214, и для них нужно 4 байта.
Фиктивный адрес для таймеров будет 0xA2F200, т.к. размер памяти - нулевой.
Строковые переменные будут храниться по адресу 0xA2F218, причем им требуется 3*256 байт.
Таким образом, в системе разработке должна быть введена строка
A2F200,14,A2F214,4,A2F200,0,A2F218,300
Функциональный вызов SYSTEM
Если нужно хранить большинство переменных приложения, то следует использовать функцию SYSTEM, чтобы иметь дело со всем множеством переменных (подробнее о функции SYSTEM см. в Руководстве пользователя). Заметим, что в этом случае резервирование и восстановление управляются программистом на уровне приложения.
Прежде всего, Вы должны определить место расположения резервных копий всех типов переменных:
<новый_адрес>:=SYSTEM(SYS_INITxxx,<адрес>);
где
- <адрес> адрес расположения памяти для резервирования (16#шестнадцацеричное значение). Он должен иметь четное значение, в противном случае операция не выполнится.
- SYS_INITxxx может быть:
* SYS_INTBOO для определения начала памяти под булевские переменные.
* SYS_INTANA для определения начала памяти под аналоговые переменные.
* SYS_INTTMR для определения начала памяти под таймерные переменные.
* SYS_INTALL для определения начала памяти под все булевские, аналоговые и таймерные переменные.