基于F28335的Simulink代码生成(六)——如何修改变量的存储类型

11 篇文章 24 订阅
9 篇文章 3 订阅

基于F28335的Simulink代码生成系列文章目录

基于F28335的Simulink代码生成(一)——搞懂模型的运行逻辑
基于F28335的Simulink代码生成(二)——EPWM模块同步设置问题
基于F28335的Simulink代码生成(三)——EQEP模块获取光电编码器的速度与角度信息
基于F28335的Simulink代码生成(四)——如何链接可以访问底层文件的外部源文件和头文件
基于F28335的Simulink代码生成(五)——DMA的使用
基于F28335的Simulink代码生成(六)——如何修改变量的存储类型
基于F28335的Simulink代码生成(七)——成果展示



前言

在Simulink代码生成的应用中,我们经常需要用到变量的声明,假如默认拖入一个变量,这个变量在代码中是属于一个结构体的成员,调用的时候需要调用结构体,然而结构体名是与模型的名字有关的。
这样的设计着实让人有点难受,极不方便移植给其他主机直接应用。另外,在CCS的变量显示时,我们经常需要通过变量名来查看对应的数值,但是由于SImulink中的常规变量都是结构体类型的,所以每次都需要自己根据结构体名和变量名来输入,操作存在不简明和复杂性。因此本博客介绍了SImulink中如何修改变量存储类型。


一、如何修改声明类型

这里要值得注意的一点是,不同版本的MATLAB,其存储类型修改的版本并不一样,以我之前使用的18b版本来说,修改的时候双击变量,在变量的交互框就可以找到,这样的方式是比较简洁的,毕竟大部分人都会认为对于变量的配置应该放在变量的说明框内才比较合理。不过Mathwork似乎不这么想,在20b对界面做了比较大的改动之后,我在变量的说明框里已经找不到修改变量类型的地方了。
在这里插入图片描述
后来,在无意中,找到了修改的地方,不过需要经过一些步骤:
1.首先,需要点击Build,然后等待模型编译成功。
在这里插入图片描述
2.编译完成后,我们需要调出C code框,一般我的方法是电机模型的右下角的阴影部分(红色框所示),选择C code模式。
在这里插入图片描述

3.选择该模式后,模型界面的左下角会出现code mappings -C,
在这里插入图片描述
4.点击该选项之后就可以看到如下界面,其中红色框所示的Data Stores,也就是数据存储的方式,这个地方就是修改存储类型的地方。
在这里插入图片描述
5.选择你需要修改的变量,点击它目前的类型(Storges Class选项卡下),就可以看到有很多种存储类型了。
在这里插入图片描述
在这里插入图片描述
至此,修改的地方就找到了。

二、各类型的含义与应用场合

这部分的使用,我觉得没必要细说,因为网络上有很多相关的东西,讲的也比较透彻,这里就不做赘述了。大概的应用场合包括我之前说的方便观察变量,以及链接给外部使用,因为存在相当一部分人使用代码生成一般做的都是模块化设计,往往需要设置模块的输入接口以及输出接口,这就需要将生成的C文件做外部声明。
具体可以参考以下博客:
Simulink代码生成: Storage Class配置
讲的很详细,值得一看。


总结

`以上就是今天要跟大家聊一聊的东西了,欢迎有问题私信讨论。

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LEODWL

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值