您可以为具有可预测功能接口的不可重用子系统生成代码。可预测的接口对于调试和测试代码以及将其与外部应用程序集成非常有用。带有可预测函数接口的生成代码更具可读性。
当指定块参数时函数接口作为允许参数(匹配图形界面)
,生成的函数接口与子系统的图形块接口相匹配。例如,如果一个子系统有两个Inports和一个Outport,那么函数接口为Inports生成两个参数,为Outport生成一个函数参数。参数的顺序由端口索引决定。函数接口是可预测的,并且不会改变。
当您使用block参数为不可重用的子系统生成代码时函数接口设置为允许参数(优化)
,代码生成器生成一个子系统函数接口,该接口通过参数传递数据。函数参数可能与子系统的图形块界面不匹配。
此示例显示了当您指定时生成的代码有何不同函数接口作为允许参数(优化)
和允许参数(匹配图形界面)
.
1.打开示例模型ex_mux_allow_arguments
.模型中的子系统包含三个输入和两个输出。
2.右键单击子系统并选择块参数(子系统)从上下文菜单。或者,单击“子系统”中的打开“块参数”对话框属性检查器窗格。
3.观察这些预设的设置,需要生成预期的代码:
在主要选项卡表示块参数当作原子单位对待被选中。
在代码生成选项卡,函数包装是那种一次性的功能
和函数接口是允许参数(优化)
.
4.打开嵌入式编码器应用程序,点击构建.
中生成的代码ex_mux_allow_arguments.c
文件包含一个带参数的子系统函数接口:
/* Output and update for atomic system: '/Subsystem' */ static void FPCSS_Mux(real_T rtu_In1, real_T rtu_In2, real_T rty_Out2[4]){/*常量:' /Constant1' */ rtDW. txt . txt;Constant1 = 5.0;/*增益:' /增益4' */ rtDW。Gain4 = 10.0 * rtu_In1;/*合并:* Constant: ' /Constant' */ rty_Out2[0] = 150.0;rty_Out2[1] = 15.0 * rtu_In2;rty_Out2[2] = 15.0 * rtu_In1;rty_Out2[3] = 15.0 * rtu_In2;}
的允许参数(优化)
规范通过减少全局RAM来优化生成的代码。函数接口有一些输入和输出作为函数参数。生成的函数界面与子系统的图形块界面不匹配。
1.在示例模型中ex_mux_allow_arguments
,打开“子系统块参数”对话框。
2.在代码生成选项卡中,指定函数接口作为允许参数(匹配图形界面)
并点击应用.
3.为模型生成代码。
中生成的代码ex_mux_allow_arguments.c
文件包含一个子系统函数接口,其参数与子系统块接口相匹配:
/* Output and update for atomic system: '/Subsystem' */ static void FPCSS_Mux(real_T rtu_In1, const real_T rtu_In2[2], real_T rtu_In3, real_T rty_Out1[2], real_T rty_Out2[4]) {/* SignalConversion generated from: ' /Out1'合并:* Constant: ' /Constant1' */ rty_Out1[0] = 5.0;rty_Out1[1] = 10.0 * rtu_In1;/*合并:* Constant: ' /Constant' */ rty_Out2[0] = 150.0;rty_Out2[1] = 15.0 * rtu_In3;rty_Out2[2] = 15.0 * rtu_In2[0];rty_Out2[3] = 15.0 * rtu_In2[1];}
的允许参数(匹配图形界面)
规范生成一个可预测的接口,并将函数参数映射到子系统块的图形界面。有数组作为函数参数的一部分,以说明Mux块使用的输入或输出信号的组合。
用于启用、触发或可重置子系统允许参数(匹配图形界面)
,生成的函数包含与子系统中每个Enable、Trigger块和/或Reset块对应的参数。
的函数接口设置为允许参数(匹配图形界面)
说明不适用于上下文菜单选项C / c++>构建这个子系统.
您不能控制参数名称。