Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

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

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

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

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

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

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

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

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

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

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

在自定义代码中访问枚举

在使用 C 语言作为动作语言的图中,要在自定义代码中包含枚举,请在 Configuration ParametersSimulation Target 窗格中选择 Import custom code。选择此选项后,在头文件中定义您的枚举,并将头文件包含在 Simulation Target 窗格的 Insert custom C code in generated 部分中。

相关主题