8086怎么输出数组_Simulink代码生成——结构体数组的实现

344b7f0b9fb6bee95bd6d44c7b0a11c5.png

微信公众号“汽车电控杂谈”同步更新

在开发应用层模型时,有时会使用一些结构体、结构体数组等类型的接口变量,方便与其他C代码进行集成。

那么,我们如何在Simulink模型中实现结构体数组的代码生成呢?

应用场景

例如我们有以下一个结构体:

typedef 

并定义了两个结构体数组,如下所示:

MyStruct Data_Read[5];
MyStruct Data_Write[5];

现在我们希望Simulink模型实现如下代码的功能:

/* Data_Write功能 */
Data_Write[0].Data_Array[1] = x;
Data_Write[0].Data_Valid = true;
Data_Write[0].Data_Length = 8;

/* Data_Read功能 */
a = Data_Read[1].Data_Array[0];
b = Data_Read[1].Data_Array[0];
c = Data_Read[1].Data_Valid;
d = Data_Read[1].Data_Length;

模型实现

对于上述功能,我们需要使用Selector Assignment这两个模块来实现对数组以及数组结构体的操作。在Simulink模型中使用Data_ReadData_Write作为输入输出接口,并在模型中对部分结构体成员做其他逻辑运算处理。模型如下图所示:

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值