金宝appSimulink.importExternalCTypes
生成金宝app表示定义自定义数据类型的C或c++代码
语法
描述
解析C或c++头文件(importInfo
= 金宝appSimulink.importExternalCTypes (headerFiles
)。h
或. hpp
确认的)headerFiles
为类型定义
,结构体
,枚举
类型定义,并生成模型金宝app®表示的类型。输出,importInfo
进口,识别成功和失败类型。
你可以用模型表示:金宝app
重用您现有的算法的C代码,通过仿真,测试它的交互仿真软件控制算法。金宝app为例,展示了如何使用遗留代码的工具,明白了集成C函数的参数是指向结构的指针。
生成代码(金宝app仿真软件编码器™),重用现有代码定义的类型和数据。然后,您可以将编译生成的和现有的代码集成到一个应用程序。例如,看到的之间交换结构化和枚举数据生成和外部代码(嵌入式编码)。
创建和组织数据(信号、参数和状态)在模型中使用标准的数据类型,您的组织定义的C代码。
创建结构模型的信号,使用nonvirtual公交车。金宝app看到组信号线路到虚拟的公共汽车。
创建的结构参数,使用MATLAB®结构和
金宝appSimulink.Parameter
对象。看到组织相关块参数定义的结构。创建枚举数据,请参阅使用枚举数据在仿真软件模型金宝app。
匹配一个原始
类型定义
声明中,使用一个金宝appSimulink.AliasType
对象设置参数和信号数据类型在一个模型。
默认情况下,功能:
进口枚举类型通过生成一个枚举类来自一个脚本文件
金宝appSimulink.IntEnumType
描述的一样,定义模型的枚举金宝app。如果有必要,您可以编辑类定义自定义(例如,通过实现addClassNameToEnumNames
方法)。进口产生的结构类型
金宝appSimulink.Bus
对象的基本工作空间。进口原始
类型定义
语句通过生成一个金宝appSimulink.AliasType
对象的基本工作空间。解释通用C数据类型,例如
int
或短
根据您的主机电脑的单词长度。例如,对于大多数现代机器,int
有一个32位字长,所以函数代表一个int
结构域作为一个总线元素,使用仿真软件的数据类型金宝appint32
。覆盖这种默认行为,确定你的目标硬件板使用
HardwareImplementation
对参数。
附加信息的默认行为,看到提示。
生成定制的模型表示C金宝app数据类型通过分析你认同的一个模型importInfo
= 金宝appSimulink.importExternalCTypes (modelName
)modelName
。当你使用模拟目标配置参数在模型识别头文件包含在模拟,使用这种语法导入类型为目的的模拟模型在你的主机。函数解释通用C数据类型根据主机的单词长度。
当你使用这个语法,不使用双参数,如HardwareImplementation
,可以与目标模型的配置参数之间的冲突。当你使用参数和这样的语法、函数生成一个警告。
使用一个或多个指定附加选项名称-值对参数。你可以使用这个语法:importInfo
= 金宝appSimulink.importExternalCTypes (___、名称、值)
指定的名称类型导入使用
的名字
对参数。控制仿真软件商店的方式导入的类型,例如,通金宝app过生成仿真软件数据字典类型。使用
MATFile
和DataDictionary
对参数。控制函数的方式解释通用C数据类型。使用
HardwareImplementation
对参数。之间保持同步的c代码定义和模型表示试图导入更新后的c代码定义了。金宝app你可以选择是否覆盖现有的模型表示。金宝app使用
覆盖
和详细的
对参数。
例子
输入参数
输出参数
限制
功能不支持:金宝app
C数据类型不对应于一个仿真软件支持的类型。金宝app金宝app例如,仿真软件不能识别一个金宝app等价的
长两倍
。对于仿真软件支持的数据类型的信息,明白了金宝app金宝app数据类型支持的仿真软件金宝app金宝app。指针类型,如结构,定义了一个或一个字段的值是一个指针
类型定义
基本类型是指针类型的声明。结构定义一个字段的值有多个维度。
如果一个字段值是一个一维数组,函数创建了一个总线元素表示一个向量,而不是一个矩阵。
工会。
如果一个结构字段表示定点数据,或者如果一个
类型定义
语句映射到一个定点基类型,函数集的数据类型元素或相应的总线金宝appSimulink.AliasType
对象相关的仿真软件整数类型(例如金宝appint16
)。进口商无法确定的定点扩展解析C代码。使用函数之后,您必须手动指定数据类型的总线元素的基类型金宝appSimulink.AliasType
通过使用对象fixdt
函数。
提示
如果一个MATLAB函数块或Stateflow®图在你的模型使用导入的枚举或结构类型,配置模型配置参数包括(
# include
)从外部头文件类型定义。看到控制进口汽车和枚举类型定义(MATLAB函数块),访问Stateflow图表中的自定义代码变量和函数(Stateflow)和整合自定义结构Stateflow图表(Stateflow)(图表)。默认情况下:
用于导入的枚举,因为模型来源于枚举类金宝app
金宝appSimulink.IntEnumType
,当你模拟或从模型生成代码,枚举使用整数的大小你的目标硬件。你指定的特征目标硬件使用模型配置参数等生产设备供应商和类型和本族词规模生产硬件。导入结构类型:
函数进口结构字段数值复杂只有字段使用相应的之一金宝app仿真软件编码器结构类型数据类型。例如,如果一个结构域在外部代码中使用的数据类型
cint8_T
,函数导入字段作为一个总线元素(金宝appSimulink.BusElement
数据类型的对象)int8
和谁的复杂性
属性设置为“复杂”
。对于嵌套结构,函数生成一个总线对象为每一个独特的结构类型。
对于导入的结构或枚举类型,如果您的外部代码使用
类型定义
声明名称类型,生成的总线对象的名称或仿真软件枚举类相匹配金宝app类型定义
的名字。如果您的代码没有使用类型定义
声明名称类型,对象或类的名称的标记名称类型,除非这个名字冲突类型中定义的名称类型定义
声明在你的头文件,在这种情况下,类型不导入仿真软件。金宝app如果你不指定一个标签名称或应用类型定义
名字,仿真软金宝app件生成一个任意的对象或类的名称。请注意
导入类型未命名的
类型定义
声明中,模型配置参数导入自定义代码必须选择。功能配置生成的模型表示为目的的模拟和进口代码生成。金宝app例如,对于总线对象,函数设置
DataScope
财产“进口”
和HeaderFile
外部头文件属性的名称。模拟或从模型生成代码,使用其中一个模型表示,你必须让你的头文件可用模型。金宝app
当你指定文件
金宝appSimulink.importExternalCTypes
使用或产生,例如,通过使用DataDictionary
对论点:如果使用现有的文件在当前文件夹或MATLAB路径,您不需要指定一个文件路径。您可以指定文件名。
控制生成的文件的文件夹位置,您可以指定路径和文件名。您还可以使用
OutputDir
对参数。