访问 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 语言作为动作语言的图中包含自定义代码中的枚举,请执行以下操作:
在头文件中定义枚举。
打开“配置参数”对话框。
在仿真目标窗格中的高级参数下,选择导入自定义代码。
在代码信息选项卡中,包含定义枚举的头文件。