Simulink自动代码生成(一)

article/2025/11/10 6:34:38

  一个simulink模型能够生成代码首先要满足的条件:

 1:确保模型仿真的正确性2:将需要的输入和输出改成input和output模块3:离散化模型,设置求解器为离散,固定步长

满足上面条件后,接下来怎么生成嵌入式C代码呢?

一 : 嵌入式C代码生成

1:将系统目标文件(system target file)设置成 ert. tlc( Embedded Coder ) 如下图:
在这里插入图片描述

2:硬件实现规定(Hardware Implenmatation) 假如生成的代码用到的硬件平台是stm32,则可以如下设置:
在这里插入图片描述
完成上面的两步操作后,就可以用快捷键ctrl+B生成嵌入式C代码了。但是会发现生成的代码可读性很差所以下面来看怎么优化自动生成的C代码。

二 : 嵌入式C代码生成优化

1:首先我们可以看到 Code Generation 下拉菜单的 Optimization选项:

  当模型中使用参数变量,如Gain模块的增益值,在生成代码时,如果希望使用该参数的值直接展现到代码中,就需要设置参数内联选项,如下图所示框中选项:
在这里插入图片描述
2: 移除数据变量初始化为0。如下图设置:
在这里插入图片描述
3:设置当代码生成后以报告的形式自动打开
在这里插入图片描述
4:设置注释是否展现到代码中,推荐启动注释选项并勾选 Simulink block Stateflow object comments 选项以生成注释,注释中带有可以从代码跳转到对应模型的超链接,方便追溯模块与代码的对应关系。
在这里插入图片描述
5:通过设置各种标示符的不同组合,规定生成代码中各部分变量、常量、函数名、结构体及对象名称的生成规则。不建议修改,如图:
在这里插入图片描述
这些标示符的具体意义如下表所列:
在这里插入图片描述
6:用于添加模型中用到的用户自定义的源文件、头文件等。
在这里插入图片描述
7:C代码中移除real-time模型的结构体数据的错误状态,如图:
在这里插入图片描述
8:设置生成C文件的组织方式,对应的生成文件个数不同 ,具体如下表所列:
在这里插入图片描述
为了简洁,一般设置如下,
在这里插入图片描述
9:生成的C代码中数据类型名的重定义如下:
在这里插入图片描述
**注意:用户填入的自定义类型名不仅是一个别名字符串,还必须在Base Workspace或者数据字典中定义其作为Simulink .AliasType类型对象才可以。**如下:
在这里插入图片描述
转载:https://blog.csdn.net/weixin_38451800/article/details/87986280


http://chatgpt.dhexx.cn/article/airWDhkv.shtml

相关文章

代码一键自动生成,拿走不谢

程序猿学社的GitHub,欢迎Star github技术专题 本文已记录到github 文章目录 前言起源环境实战sql脚本pom.xmlapplication.yml启动类代码自动生成controller类 测试 前言 隔壁老王: 社长,我工作有一段时间咯,我看其他的同事&#x…

4个免费代码自动生成神器

4个免费代码自动生成神器 日常写代码,是一件非常需要耐心的事情,尤其是那些没有技术含量重复使用到的一些代码排列组合,比如前端的一些html和css布局,简单繁杂,这个时候就会使用到一些免费代码自动生成神器&#xff0c…

java自动代码生成

1.概述 可在线自动生成代码,省去复制、修改通用模板代码的繁琐过程,减少团队70%以上的开发工作量 基于java的template模板引擎velocity,在定义好模板文件后,动态产生适应业务的java、xml、html、sql等代码文件 2.自动生成过程 …

Linux防火墙关闭方法

Linux防火墙关闭方法 关闭防火墙: 1、查看状态:systemctl status firewalld 2、关闭: systemctl stop firewalld(只执行这个,重启后不行,还必须执行systemctl status firewalld) 1.1、查看seli…

Linux中的Java项目服务器无故关闭

部署在Linux中的项目,最近一直无故关闭。找了很多都找不到原因。最近发现一个现象终于让我知道是什么原因导致我的开发服务器无故关闭了。 起因 部署在linux中的java开发服务器最近一直无故关闭。且是因为我在启动脚本中加了如下命令导致的。 tail -f log/game.lo…

Linux 系统下关闭防火墙

一、重启后永久性生效: 开启: chkconfig iptables on 关闭: chkconfig iptables off 二、即时生效,重启后失效: 开启: service iptables start 关闭: service iptables stop 需要说明的…

linux 桌面关闭防火墙,linux如何关闭防火墙的方法

火墙是一项协助确保信息安全的设备,会依照特定的规则,允许或是限制传输的数据通过。简单的来说防火墙的作用就是保护你的网络免受非法用户的侵入,虽然防火墙是为了你网络安全而存在,但是同时也限制了你上网操作,有很多…

LINUX系统下关闭防火墙

所谓防火墙指的是一个由软件和硬件设备组合而成、在内部网和外部网之间、专用网与公共网之间的界面上构造的保护屏障.是一种获取安全性方法的形象说法,它是一种计算机硬件和软件的结合,使Internet与Intranet之间建立起一个安全网关。 一、重启后永久性生…

JAVA配置防火墙开放、关闭端口

要达成的目的可以描述为: 在JAVA程序中随机生成一个可用的端口,并在防火墙中开放这个端口。 随机生成可用端口 /*** 随机获取10100-10200的未占用端口** return 端口号*/private int generateLocalPort() {while (true) {int port 10100 (new Random(…

Linux系统关闭防火墙命令

Linux系统关闭防火墙命令 下面是red hat/CentOs7关闭防火墙的命令! 1:查看防火状态 systemctl status firewalld service iptables status 2:暂时关闭防火墙 systemctl stop firewalld service iptables stop 3:永久关闭防火墙 systemctl disable firewalld chkconfi…

Linux下的关闭防火墙

一、临时关闭防火墙 1、 查看防火墙的状态 /etc/init.d/iptables status 2、 临时关闭防火墙 /etc/init.d/iptables stop 3、 查看关闭后的状态 二、永久关闭防火墙 命令:chkconfig --level 2345 iptables off 或者 chkconfig iptables off 其中2345 代表”执…

Linux关闭防火墙命令

一、下面是red hat/CentOs7关闭防火墙的命令! 1:查看防火状态 systemctl status firewalld service iptables status 2:暂时关闭防火墙 systemctl stop firewalld service iptables stop 3:永久关闭防火墙 systemctl disable firewalld chkconfig iptables off 4:重…

原生js 实现图片轮播(图片按钮+左右轮播)

该代码可以实现左右箭头点击切换,按钮点击切换,自动播放方面还需改进 点击切换方面算是实现了效果,自我感觉还需要改进,代码仅供参考 html部分 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>…

JS——【案例】图片轮播图(自动轮播/手动点击/悬停显示)[技术栈:html、css、JavaScript]

1、效果&#xff1a; 2、需求&#xff1a; 3、代码实现&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"&…

如何用JS实现轮播图!

轮播图 1.思路与写法 1.1 首先我们拿到一个关于轮播图的实例我们要分析里面的功能&#xff0c;将其模块化处理&#xff1b; 1.2 首先需要实现的是自动轮播的效果&#xff1a; 1.2.1需要用到运动函数框架&#xff0c;startMove()&#xff0c;还需要用到定时器&#xff0c;这里…

javascript图片轮播技术动态实现

我们经常会在网页中见到轮播的图片&#xff0c;如京东主页面中图片自动更换。我们在这里对这一技术进行实现&#xff0c;主要能够使图片自动进行轮播&#xff0c;数字标签随着图片一同更换&#xff0c;鼠标移动到数字标签上&#xff0c;相应的图片停留&#xff0c;鼠标在整个图…

JS——实现轮播图(完整功能)

没有把细节单拎出来讲&#xff0c;但基本上所有重要步骤都在代码里边备注解释了~~ 个人认为比较难的地方就是&#xff1a; 怎么在自动播放到最后一张图片后&#xff0c;瞬间切换回第一张图片重新播放&#xff1f; 这里采用了比较取巧的方法&#xff0c;比如我用了四张例图&a…

Js实现图片点击切换与轮播

Js实现图片点击切换与轮播 图片点击切换 <!DOCTYPE html> <html><head> <meta charset"UTF-8"><title></title><script type"text/javascript">window.onloadfunction(){var btn1document.getElementById("…

原生JS-实现无限图片轮播

实现思路&#xff1a; 一、布局部分&#xff1a; 1、采用div>ul>li>img布局&#xff0c;来展示轮播的图片banner; 2、采用div>>ul>li>a标签&#xff0c;来显示小红点&#xff1b; 整个布局入下图所示&#xff1a;途中的&#xff0c;图中的第一个li和最后一…

HTML网页js超简单实现图片轮播

其实实现图片轮播很简单 1. 创建一个js文件&#xff08;自己会的博主不多说&#xff09; 2. 在html文件引入js文件 引入代码&#xff1a; <script type"text/javascript" src"js/sth.js"></script> 注意&#xff1a;sth是自己的js文件名自行…