主要内容

Simulink.defineIntEnumType

定义枚举数据类型

说明

Simulink.defineIntEnumType(ClassName,CellOfEnums,IntValues) 定义名为 ClassName 的枚举,该枚举具有 CellOfEnums 指定的枚举值和 IntValues 指定的基础数值。

示例

Simulink.defineIntEnumType(ClassName,CellOfEnums,IntValues,Name=Value) 可在前面语法中的输入参量外使用一个或多个名称-值参量来指定选项。例如,要从外部头文件导入数据类型定义,请将 DataScope 设置为 Imported

示例

全部折叠

假定一个外部数据字典包括以下枚举:

BasicColors.Red(0), BasicColors.Yellow(1), BasicColors.Blue(2)

将枚举类定义从头文件 mybasiccolors.h 导入 MATLAB® 工作区中,同时指定生成代码中的枚举值是可调的,并且具有基础整数数据类型 int16

Simulink.defineIntEnumType(BasicColors, ... 
	{"Red","Yellow","Blue"},[0;1;2], ... 
	Description="Basic colors", ...
	DefaultValue="Blue", ...
	HeaderFile="mybasiccolors.h", ...
	DataScope="Imported", ...
	AddClassNameToEnumNames=true, ...
	StorageType="int16", ...
      IsTunableInCode=true);

输入参数

全部折叠

枚举数据类型的名称,指定为字符向量或字符串。

示例: BasicColors

数据类型的枚举,指定为字符向量元胞数组或字符串。

示例: {"Red", "Yellow", "Blue"}

数值枚举值,指定为数组。对于基于 uint32 的枚举,枚举值必须小于或等于 intmax('int32')

示例: [0;1;2]

名称-值参数

全部折叠

将可选的参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但对各个参量对组的顺序没有要求。

示例: Simulink.defineIntEnumType(BasicColors, ...{"Red","Yellow","Blue"},[0;1;2],DataScope,"Imported",FileName,"MyBasicColors.h");ScopeSelection 设置为 Imported,并指定代码生成器从外部文件 mybasiccolors.h 导入枚举类型定义。

枚举数据类型的描述,指定为字符向量或字符串。

示例: "Basic colors"

默认枚举值,指定为字符向量或字符串。该值是为 CellOfEnums 指定的值之一。

示例: "Blue"

代码生成期间对数据类型定义采取的操作,指定为以下值之一:

  • "Auto" - 如果没有为 HeaderFile 指定任何值,则将类型定义导出到 model_types.h,其中 model 是模型名称。如果为 HeaderFile 指定了值,则从指定的头文件中导入数据类型定义。

  • "Exported" - 将数据类型定义导出到头文件中。如果没有为 HeaderFile 指定任何值,则头文件名称的默认值为 type.h,其中 type 是数据类型名称。

  • "Imported" - 从头文件中导入数据类型定义。如果没有为 HeaderFile 指定任何值,则头文件名称的默认值为 type.h,其中 type 是数据类型名称。

要避免 MISRA C:2012 违规,请将数据作用域所选内容设置为 "已导入""已导出"

包含数据类型定义的外部头文件,指定为字符向量或字符串。默认情况下,生成的 #include 指令使用预处理器分隔符 ",而不是 <>。要生成指令 #include <mytypes.h>,请将 FileName 指定为 '<myTypes.h>'

示例: 'mybasiccolors.h'

代码生成器是否将类名称作为前缀应用于枚举,指定为数值或逻辑值 1 (true) 或 0 (false)。

示例: true

用于在生成的代码中存储枚举的基础整数值的数据类型,指定为字符串。

示例: "int16"

自 R2025a 起

允许在生成代码中启用枚举值的可调性(更改、添加和重新排序)的选项,指定为数值或逻辑值 1 (true) 或 0 (false)。要将此参量设置为 true,您必须将 DataScope 设置为 "Imported"

示例: true

版本历史记录

在 R2010b 中推出