Function Call
This example shows how to generate a function call by adding a subsystem, which implements the operations that you want.
C Construct
void add_function(void)
{
y1 = u1 + u2;
}
Procedure
1. Open example model ex_function_call.

The subsystem has two inputs and returns one output.

Selecting the Treat as atomic unit parameter enables parameters on the Code Generation tab. The Code Generation tab provides these customizations:
Function packaging set to
Nonreusable functionFunction name options set to
User specifiedFunction name specified as
add_functionFile name options set to
Use function name
2. To build the model and generate code, press Ctrl+B.
Results
In ex_function_call.c, the function is called from 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' */
}
The function prototype is externally declared through the subsystem file, add_function.h:
extern void add_function(void); #endif /* add_function_h_ */ /* * File trailer for generated code. * * [EOF] */
The function definition is in the subsystem file add_function.c:
void add_function(void)
{
/* Outport: '<Root>/y1' incorporates:
* Inport: '<Root>/u1'
* Inport: '<Root>/u2'
* Sum: '<S1>/Sum'
*/
rtY.y1 = u1 + u2;
}