配置Simulink模型,调皮属于你自己的代码

描述

在默认配置下,Simulink 模型自动生成的 C 代码的函数原型都是 void model_step(void) 的形式。但是,集成代码时,函数原型通常都需要满足指定的形式。

如何配置 Simulink 模型

才能使生成代码满足指定的函数原型?

点击末尾的 “阅读原文” 下载本文的案例模型

设置模型自动生成的代码的函数原型

要得到:

double myFun(double u1[10], double u2, double *y1)。

return y2

怎么做:

通过代码生成的接口配置界面 Interface 的 Configure Model Functions 来自定义 Simulink 模型所生成的 C 代码的函数原型。

举个例子

1. 模型

使用上一篇的模型:

代码

默认配置生成代码的函数原型如下,数据传递都使用全局变量:

代码

2. 配置

端口数据类型都设置为指定的 double:

代码

接着配置函数原型为指定形式,如下图:

代码

根据菜单设置,配置所需要的函数原型,最后使用Validate按钮来帮助检查:

代码

如 Validate 后下方的红色文字所示,需要把 Base Workspace 里输入输出信号对象的 Storage Class 设置为 Auto。

另外,只能设置 return 一个变量。如果一定要返回多个值,可以考虑设置成结构体的形式。

因为模型里的 u1 是一个数组,所以在菜单里不能如上图设置为 Value。

3. 结果

最后得到的代码的函数原型:

代码

总结

通过代码生成的接口配置界面 Interface 的 Configure Model Functions 页面来自定义模型代码的函数原型。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分