全局变量可以增加内存需求,减少执行速度。减少全球RAM那种一次性的子系统,可以生成一个函数接口,通过参数传递数据,而不是全局变量。子系统块参数函数接口提供了这个选项。比较的输出函数接口选项,第一个为一个子系统生成一个函数void-void
接口,然后生成一个函数参数。
void-void
函数默认情况下,当您配置子系统块那种一次性的函数,它生成一个void-void
接口。
打开示例模型rtwdemo_roll
。
右键单击该子系统RollAngleReference
。从列表中选择块参数(子系统)
。
块的参数对话框,确认治疗作为原子单元复选框被选中。
单击代码生成选项卡并设置代码接口包装参数那种一次性的功能
。
的函数接口参数已经设置void_void
。
点击应用和好吧。
重复步骤2 - 6,其他子系统HeadingMode
和BasicRollMode
。
生成代码和静态代码度量报告rtwdemo_roll
。这个模型配置为生成一个自动代码生成报告和打开报告。有关更多信息,请参见生成静态代码度量报告仿真软件模型金宝app。
在代码生成报告rtwdemo_roll.c
为子系统,生成的代码RollAngleReference
包含一个void-void
函数定义:
静态孔隙RollAngleReference(空白){…}
void_void
选择,对全局变量的字节数47
。
接下来,生成相同的函数允许参数(优化)
选择比较结果。
减少全球内存,提高芯片的使用和执行速度,生成一个函数,允许参数:
打开子系统参数对话框RollAngleReference
。
单击代码生成选项卡。设置函数接口参数允许参数(优化)
。
点击应用和好吧。
重复步骤2和3,其他子系统HeadingMode
和BasicRollMode
。
生成代码和静态代码度量报告rtwdemo_roll
。
在代码生成报告rtwdemo_roll.c
为子系统,生成的代码RollAngleReference
现在有参数:
静态real32_T RollAngleReference (real32_T rtu_Phi,……boolean_T rtu_AP_Eng,……real32_T rtu_Turn_Knob) {…}
允许参数
选项设置,全局变量的字节总数39
字节。
在某些情况下,当生成优化的代码,代码生成器可能不会生成一个函数的参数。生成一个可预测的函数接口,参数,设置函数接口来允许参数(匹配的图形界面)
。