Main Content

函数调用

此示例说明如何通过添加用于实现所需运算的子系统来生成函数调用。

C 构造

void add_function(void)
{ 
   y1 = u1 + u2;
}

过程

1.打开示例模型 ex_function_call

此子系统有两个输入并返回一个输出。

选择视为原子单元参数将启用代码生成选项卡上的参数。代码生成选项卡提供以下自定义:

  • 函数打包设置为 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);

#endif                                 /* add_function_h_ */

/*
 * File trailer for generated code.
 *
 * [EOF]
 */

函数定义在子系统文件 add_function.c 中:

void add_function(void)
{
  /* Outport: '<Root>/y1' incorporates:
   *  Inport: '<Root>/u1'
   *  Inport: '<Root>/u2'
   *  Sum: '<S1>/Sum'
   */
  rtY.y1 = u1 + u2;
}

另请参阅

相关主题