Белов, А.В. Микроконтроллеры AVR: от азов программирования до создания практических устройств
268 Микроконтроллеры AVR от азов программирования... register int gamma @10; // Определение регистровой // переменной gamma с конкретным // указанием регистра (R10), // где она должна храниться Второй тип памяти, где могут храниться переменные, — это энерго независимая память данных (EEPROM). Для размещения переменных в этой памяти используется директива eeprom. Причем в EEPROM могут храниться как переменные, так и массивы. Команда описания в этом слу чае будет выглядеть следующим образом: eeprom eeprom char beta; // // eeprom long arrayl [5]; // // char Определение переменной beta с размещением в EEPROM Определение массива arrayl в EEPROM string [] ="Hello" // Определение // текстового массива При размещении массива в EEPROM необходимо учитывать, что ука затель массива всегда должен иметь не менее 16 битов. То есть иметь тип int либо unsigned int. Еще один тип памяти, где могут храниться данные, — это программ ная память. Но в этом случае мы уже не сможем в программе изменять значения переменных и элементов массива. Эти значения определяются один раз и только при инициализации. Для указания того факта, что мас сив или переменная должны храниться в программной памяти, исполь зуется директива flesh. В качестве примера описания массива в программной памяти обра тимся к строке 2 нашей программы (листинг 5.16). Массив или пере менная с индексом flesh могут быть только глобальными. Поэтому их описание всегда располагается в начале программы перед описанием всех функций. Описание программы (листинг 5.16) Программа содержит только одну главную функцию main. Перед началом этой функции происходит определение и инициализация мас сива (строка 2). Этот массив предназначен для хранения коэффициентов деления и является аналогом таблицы коэффициентов деления в про грамме на Ассемблере. При инициализации элементам массива присваиваются уже знакомые нам значения. Те же значения мы помещали в таблицу коэффициентов. Главная функция main программы занимает строки 4 — 21. В строках 4 и 5 создаются две переменные:
Made with FlippingBook
RkJQdWJsaXNoZXIy MTExODQxMg==