Белов, А.В. Микроконтроллеры AVR: от азов программирования до создания практических устройств
Шаг 5. Переходим непосредственно к разработке устройств и программ 319 #pragma ______________________________________________________ Директива, задающая специальные команды для компилятора. В каче стве параметра в директиве указывается задаваемая команда. Ниже при веден ряд примеров использования этой директивы. Включение/отключение сообщений об ошибках. #pragma warn- // Отключает предупреждающие сообщения. #pragma warn+ // Включает предупреждающие сообщения. Включение/отключение оптимизации результирующего кода. ttpragma opt- // Отключает оптимизацию, ttpragma opt+ // Включает оптимизацию. Включение/отключение оптимизации по минимальному размеру результирующего кода. #pragma optsize- // Отключает оптимизацию по размеру. #pragma optsize+ // Включает оптимизацию по размеру. И так далее. Полный список всех команд, передаваемых посред ством этой директивы, вы можете найти в файле помощи программы Code Vision в разделе «Препроцессор» («The Preprocessor»). eeprotn __________ _____________________________________________ Управляющее слово, используемое при описании переменных (масси вов), которое указывает транслятору, что данная переменная (массив) будет располагаться в энергонезависимой памяти данных (EEPROM). Например, в строке 9 программы находится описание переменной klen, предназначенной для хранения длины кодовой комбинации, а в строке 10 описывается массив, в котором будет храниться сама комби нация. И переменная, и массив размещаются в EEPROM. return _________________________________________________________ Команда возврата значения. Если функция языка СИ должна возвра щать значение, последней командой в теле этой функции должна быть команда return. В качестве параметра этой команды указывается воз вращаемое значение. Примером может служить функция incod (), занимающая в нашей про грамме (листинг 5.20) строки 16 — 26. Функция производит определение кода состояния клавиатуры с использованием процедуры антидребезга. По результатам своей работы функция должна возвращать код состояния клавиатуры. Поэтому последняя команда в теле функции (строка 26) — это команда return. В качестве параметра эта команда использует пере менную codl, которая и содержит сформированный код состояния.
Made with FlippingBook
RkJQdWJsaXNoZXIy MTExODQxMg==