В этом примере показано, как сгенерировать вызов функции путем добавления подсистемы, которая реализует операции, которые вы хотите.
void add_function(void) { y1 = u1 + u2; }
1. Откройте пример модели ex_function_call
.
Подсистема имеет два входа и возвращает один выход.
Выбор параметра Treat as atomic unit включает параметры на вкладке Генерация Кода. Вкладка Генерации кода предоставляет следующие индивидуальные настройки:
Для упаковки функций задано значение Nonreusable function
Опции имени функции установлены в User specified
Имя функции задается как add_function
Для опций имени файла задано значение Use function name
2. Чтобы создать модель и сгенерировать код, нажмите Ctrl + B.
В ex_function_call.c
функция вызывается из ex_function_call_step
:
/* Model step function */ void ex_function_call_step(void) { /* Outputs for Atomic SubSystem: '<Root>/Add_Subsystem' */ add_function(); /* End of Outputs for SubSystem: '<Root>/Add_Subsystem' */ }
Прототип функции внешне заявлен через файл подсистемы, add_function.h
:
extern void add_function(void);
Определение функции находится в файле подсистемы add_function.c
:
void add_function(void) { /* Outport: '<Root>/y1' incorporates: * Inport: '<Root>/u1' * Inport: '<Root>/u2' * Sum: '<S1>/Sum' */ rtY.y1 = u1 + u2; }