UpakNet CSyntax_V2.1
Руководство пользователя
×

Функции

Функции - отдельные блоки кода, которые можно вызвать к выполнению в любой момент программы, и получить результирующие данные.
Можно считать функции как отдельные малые программы, имеющие доступ к памяти контроллера, а всю программу в общем и целом - сборник этих функций
 
Функции состоят из двух основных частей - объявление и блок кода
Объявление функции - её описание, описывает входные данные - аргументы, тип выходных данных и название.
Общий формат выглядит следующим образом:
<type> <name>(<type> <name>, <type> <name>, ...)
 
Объявим простейшую функцию, она не принимает данных и ничего не возвращает:
тип void - обозначает что функция возвращает пустой тип данных размером 0
то есть буквально ничего, в таком случае, функция не обязана возвращать данные.
 
Пример объявления и вызова функции:
void FunctionsTest()
{
   i50=i50+1;
}
 
void start()
{
 
}
 
void main()
{
 Logic->FunctionsTest();
}
 
В результате выполнения программы, переменная i50 будет инкреминитироваться каждый цикл программы.
 
Объявим функцию которая и принимает и возвращает значение
Переменные которые объявлены в круглых скобках называются - "Аргументы" функции.
Внутри функции аргументы доступны только для чтения.
 
float DoubleValue(float value)
{
    float tmp_f;
    tmp_f = value * 2.0;
   
    return tmp_f;
}
 
Использование статичеких перменных внутри функций.
Модификатор static перед типом переменной указывает компилятору, что для данной переменной необходимо выделить память
в статической куче, таким образом, после выполнения функции переменная не будет очищена и при следующем вызове функции значение
переменной будет загружено из памяти.
 
Пример использования:
 
void test_static()
{
  static int tmp_i;
 
  tmp_i=i50+tmp_i+1;
 
  i50=tmp_i;
 
}
 
void start()
{
 
}
 
 
void main()
{
 if (r100=1)
 {
   r100=0;
   Logic->test_static();
 }
}
 
 
 
Онлайн помощь создана в Dr.Explain