Main Content

访问 Stateflow 图中的自定义代码变量和函数

您可以将用 C 或 C++ 编写的自定义代码与 Simulink® 模型中的 Stateflow® 图集成在一起。通过在您的自定义代码和 Stateflow 图之间共享数据和函数,您可以增强 Stateflow 的功能,并利用您已有的代码。有关详细信息,请参阅Reuse Custom Code in Stateflow Charts

使用 MATLAB 作为动作语言的图中的自定义代码变量

您可以直接在使用 MATLAB® 作为动作语言的图中读取和写入以下 C 代码变量。

自定义 C 代码类型描述
double双精度浮点
single单精度浮点
int8有符号 8 位整数
uint8无符号 8 位整数
int16有符号 16 位整数
uint16无符号 16 位整数
int32有符号 32 位整数
uint32无符号 32 位整数

通过右键点击使用自定义代码的 Stateflow 对象,可以访问自定义代码变量。右键点击对象后,将鼠标悬停在浏览上。此时将出现您的自定义代码变量,由 (C variable) 表示。点击 C 变量可以从 MATLAB 访问自定义代码。

使用 MATLAB 作为动作语言的图中的自定义代码函数

您可以直接在使用 MATLAB 作为动作语言的图中使用以下 C 函数参数类型,而不使用 coder.ceval。有关使用 coder.ceval 从 MATLAB 代码调用外部代码的信息,请参阅从生成的代码中调用自定义 C/C++ 代码 (MATLAB Coder)

自定义 C 函数参数类型描述
double双精度浮点
single单精度浮点
int8有符号 8 位整数
uint8无符号 8 位整数
int16有符号 16 位整数
uint16无符号 16 位整数
int32有符号 32 位整数
uint32无符号 32 位整数

通过右键点击使用自定义代码的 Stateflow 对象,可以访问自定义代码函数。右键点击对象后,将鼠标悬停在浏览上。此时将出现自定义代码函数,由 (C function) 表示。点击 C 函数可以从 MATLAB 访问自定义代码。

在自定义代码中访问枚举

要在使用 C 语言作为动作语言的图中包含自定义代码中的枚举,请执行以下操作:

  1. 在头文件中定义枚举。

  2. 打开“配置参数”对话框。

  3. 仿真目标窗格中的高级参数下,选择导入自定义代码

  4. 代码信息选项卡中,包含定义枚举的头文件。

相关主题