加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

[转载]把C语言转成Simulink s function

(2018-06-25 17:35:46)
标签:

转载

分类: matlab


我想用的s-function功能暂时比较简单,能够把我写的C语言转成相应的模块即可。阅读了好多文档,发现s function多种多样、分类以及写法都比较复杂。诸多探索之下,终于发现可以用S-Function Builder来实现我想要的功能。

1,以下是我的代码,一个加法运算。我发现,必须把数据类型处理成最基本的表达方式,如果有可能,可以用其他的定义形式。不过,不能够跟Simulink代码生成的数据类型冲突。按理来说应该能够通用,可是这个我试了好久最终没能够避开。

http://s16/middle/001NO4wDzy76Ml0RBw30f&690

2,指定s-function名称

http://s5/middle/001NO4wDzy76Ml0TiBef4&690

3,定义输入参数

http://s3/middle/001NO4wDzy76Ml0WJou32&690

4,定义输出参数

http://s3/middle/001NO4wDzy76Ml10hI662&690

5,修改数据类型,使其与C代码中的一致。

http://s4/middle/001NO4wDzy76Ml12ikza3&690

6,输入代码文件

http://s4/middle/001NO4wDzy76Ml16iKTe3&690

7,定义输出

http://s10/middle/001NO4wDzy76Ml19x0Jd9&690

8,点击build生成C mex sfun

http://s16/middle/001NO4wDzy76Ml1bPnp8f&690

9,搭建模型并仿真

http://s16/middle/001NO4wDzy76Ml1Aq51ef&690

10,测试代码生成,这个1+1真的花费我不少时间

http://s13/middle/001NO4wDzy76Ml1D16Idc&690

11,再试一个其他的测试

http://s2/middle/001NO4wDzy76Ml2c9rP01&690

12,结果似乎有一点不好解释,或许跟仿真设置有关,回头继续研究。

http://s10/middle/001NO4wDzy76Ml2e8Rz29&690

0

  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有