16:05


Для полного доступа к фунциям сайта необходимо зарегистрироваться!!!
#IF-ELSE-ENDIF
меню

Профиль
Гость


Группа:
Гость
Время:16:05

Гость, мы рады вас видеть. Пожалуйста зарегистрируйтесь или авторизуйтесь!


Облако тегов

Статистика





Мы вконтакте

Приветствую Вас, Гость · RSS 25.04.2024, 16:05

#IF-ELSE-ENDIF


Назначение:
Директива препроцессора, которая даёт возможность условной компиляции.

Синтаксис:
#IF условие
ряд_инструкции
#ELSE
ряд_инструкции
#ENDIF

где:
условие выражение которое задаёт условие при котором будет скомпилирован, ряд_инструкции произвольный ряд инструкций.

Описание:
Эта директива позволяют использовать в программе так называемую условную компиляцию.

Что такое условная компиляция?
Обычно подвергается компиляции весь текст программы. Однако, вы можете сделать так что, компилятор не примет во внимание любые части текста в зависимости от заданного условия. Для этого можно использовать директивы препроцессора, которые соответствуют этой задаче.

Условная компиляция основана на постоянной, значение которой проверяется при определенных условиях во время компиляции. Для этого перед условной компиляцией инструкции, нужно ее определить. Ниже приведен простой пример, объясняющий, всю идею:

Const test =
#if test
Print "Это будет скомпилировано"
#else
Print "А это нет"
#endif

Важно! В директиве #IF нет THEN, а также #ENDIF то не то же самое, что END IF.

Использование # ELSE не является обязательным, но не забывайте о директиве #ENDIF.

Язык BASCOM BASIC имеет несколько внутренних констант, которые могут быть использованы в качестве составляющих частей условия. Представленные ниже автоматически генерируются компилятором (образцовые значения!):

_DATE_FORMAT = 0
_DATE_SEPARATOR = 47
_CHIP = 0
_RAMSIZE = 128
_ERAMSIZE = 128
_SIM = 0
_XTAL = 4000000
_BUILD = 11174
_COMPILER = 90

_DATE_FORMAT определяет способ которым записан текст даты программного RTC.
_DATE_SEPARATOR определяет какой знак в коде ASCII разделяет составляющие части даты.
_CHIP хранит число типа Integer, который определяет вид процессора, в данном случае AT90s2313.
_RAMSIZE определяет количество памяти SRAM в байтах.
_ERAMSIZE определяет количество памяти EEPROM в байтах.
_SIM устанавливается как 1 когда в программе использована директива $SIM.
_XTAL содержит информацию о частоте используемого кварцевого резонатора в Hz.
_BUILD содержит номер версии компилятора BASCOM.
_COMPILER заключает внутренний номер версии компилятора.

Номер версии можно с успехом использовать, когда написанная программа должна быть скомпилирована в версии языка BASCOM, которая обслуживает данную инструкцию.

Например:

#if _BUILD >=
s = Log(.1)
#else
Print " Эта функция может быть использована в версии 1.11.6.2 или выше "
#endif


Поиск

Поиск Datasheet


Топ пользователей
Yuriy
Добавил статей: 72
Количество постов: 54

Sanyok
Добавил статей: 5
Количество постов: 0

snyfer
Добавил статей: 4
Количество постов: 2

4RESTER
Добавил статей: 1
Количество постов: 0

Аватар не выбран Arses
Добавил статей: 1
Количество постов: 0


Новое на сайте

 Bootloader


 LG FLATRON E2350V-PN


 Аудио Модуль USB TF Рад...


 Битовые операции И, ИЛИ...


 Учебник DipTrace для на...


 Samsung LE32R81B


 Коды ошибок


 Заправка и сброс картри...


 Сервисное меню телевизо...


 Изучаем Arduino - инст...


 Микросхемы EEPROM


 500 схем для радиолюбит...


 302 новые профессиональ...


 Сварочный инвертор. Тео...


 В копилку радиолюбителя


 В копилку радиолюбителя...


 Видеокарта GeForce 210


 Видеокарта Nvidia Gefor...


 Пульт для Сhallenger ch...


 Ноутбук Acer MS2277


 Осциллограф С1-65а



На форуме

БП ATOM IPS


Манчестер кодирование


Меню BAS


Контроллер теплых полов


Програмный Uart для BOO...


Простое шифрование данн...


433Mhz TX & RX



Опрос
Какой микроконтроллер Вы используйте?

Всего ответов: 25

Галерея

Copyright Elektron © 2024

Яндекс цитирования Проверка PR и ТИЦ