本
C构造
Typedef struct {unsigned int p1: 1;Unsigned int p2: 1;Unsigned int p3: 1;} my_struct_type
过程
1.开放范例模型ex_struct_bitfield_CSC
.该模型包含三个Constant块和三个Outport块。
2.打开模型数据编辑器。在建模选项卡上,单击模型数据编辑器.
3.在“模型数据编辑器”中参数选项卡,在价值列,观察第一个常量块的值为p1
.在参数值旁边,单击操作按钮(有三个垂直点的按钮)并选择创建.
4.2 .在“创建新数据”对话框中设置价值来金宝appSimulink.Parameter(假)
.点击创建.一个金宝app仿真软件。参数
对象,p1
,出现在基本工作区中。对象存储一个布尔值,假
,并使用该数据类型布尔
.
5.在金宝app仿真软件。参数
属性对话框中,单击好吧.
6.使用Model Data Editor配置其他Constant块,以引用新的参数对象p2
而且p3
.
7.打开嵌入式编码器应用程序。
8.在C代码选项卡上,选择代码接口>单个元素代码映射.
9.在“代码映射”编辑器中参数选项卡,单击更新代码映射按钮。
10.使用存储类列应用存储类设置
到所有参数对象。
10.在属性检查器中,使用结构体名称列配置每个对象以使用相同的结构类型,my_struct
.
11.从模型生成代码。
结果
生成的头文件ex_struct_bitfield_CSC.h
定义结构类型my_struct_type
.
/*自定义存储类的类型定义:BitField */ typedef struct myStruct_tag {uint_T p1: 1;/*引用:'/Constant1' */ uint_T p2: 1;/*引用:' /Constant2' */ uint_T p3: 1;/*引用对象:' /Constant3' */} myStruct_type;
生成的源文件ex_struct_bitfield_CSC.c
定义并初始化结构变量my_struct
.
/*定义自定义存储类:BitField */ myStruct_type myStruct = {/* p1 */ false, /* p2 */ false, /* p3 */ false};