热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Matlab/Simulink自动代码生成基于模型设计学习教程(5)Simulink与开发板通讯

我们首先这个是要提几点要求:Simulink与开发板之间要实时通讯Simulink能实时发送数据给开发板,并能更改数据这个是我们先来看一下整个模型我们就之前没有讲过的,这里讲一下怎

我们首先这个是要提几点要求:

  1. Simulink与开发板之间要实时通讯
  2. Simulink能实时发送数据给开发板,并能更改数据

这个是我们先来看一下整个模型

《Matlab/Simulink 自动代码生成 基于模型设计学习教程(5)---- Simulink与开发板通讯》

我们就之前没有讲过的,这里讲一下怎么运用,

串口通讯模块记得Sample time要设置0.01s

《Matlab/Simulink 自动代码生成 基于模型设计学习教程(5)---- Simulink与开发板通讯》《Matlab/Simulink 自动代码生成 基于模型设计学习教程(5)---- Simulink与开发板通讯》

在做串口接受跟发送一起的时候,我们一定要选Non-Blocking,选了以后就会出现一个READY的触发端口,只有在接受数据以后才会更新数据,程序就不会卡在等待接受数据;

有了READY的触发信号,我们需要一个Enable的控制信号来配合

《Matlab/Simulink 自动代码生成 基于模型设计学习教程(5)---- Simulink与开发板通讯》

 

其实In模块跟Out模块使用起来也是有技巧的,下面以out为例来讲一下

《Matlab/Simulink 自动代码生成 基于模型设计学习教程(5)---- Simulink与开发板通讯》

如上面这样设置的话,就是没有触发信号过来的时候输出敬爱能够保持上一个数据值

《Matlab/Simulink 自动代码生成 基于模型设计学习教程(5)---- Simulink与开发板通讯》

如果像上面这样设置,那么没有触发的时候就输出Initial output值,像上面就是输出0;

 

 

下面为Simulink上位机的搭建

 

首先我们把下图的三个模块拖到新建的模型中

 

《Matlab/Simulink 自动代码生成 基于模型设计学习教程(5)---- Simulink与开发板通讯》

 

《Matlab/Simulink 自动代码生成 基于模型设计学习教程(5)---- Simulink与开发板通讯》

 

下面为各个模块的设置

Port 只要你插上去USB串口模块你就会看到对应的COM口了

                       《Matlab/Simulink 自动代码生成 基于模型设计学习教程(5)---- Simulink与开发板通讯》

Port 依然选择对应的COM口就行了,Transfer 依然是选择Non-Blocking,记得数据包的头尾要跟发送过来的要一样,不然没法接受,选择的数据类型也是需要跟发送过来的一样,最后设置Sample time:0.01

                        《Matlab/Simulink 自动代码生成 基于模型设计学习教程(5)---- Simulink与开发板通讯》

设置Enable模块搭配READY的触发信号

                         《Matlab/Simulink 自动代码生成 基于模型设计学习教程(5)---- Simulink与开发板通讯》

串口发送模块的设置:Port根据实际选择对应的COM口,数据包的头尾核心板接受那边对应上去;数据类型也要对应上去;

                                                  《Matlab/Simulink 自动代码生成 基于模型设计学习教程(5)---- Simulink与开发板通讯》

最后我们看一下实际的运行结果:

 

                      《Matlab/Simulink 自动代码生成 基于模型设计学习教程(5)---- Simulink与开发板通讯》

 

发送的数据准确无误,接受的数据也没有差错,那么Simulink与开发板之间的通讯是非常成功的。

在后面的实验我们将教大家如何利用采集回来的数据,在Simulink中提前做好仿真,提前完善好算法,加快设计进度;

 

本节所需的全部文件代码如下,请自行下载:

链接:https://pan.baidu.com/s/10C9xdvA-wAwmDGp5ifVVpg 
提取码:iqw1 

 

如有疑问请留言

 

          

 

 

 

 

 

 

 

 

 

 

 

 

 

 


推荐阅读
  • 本文介绍了PhysioNet网站提供的生理信号处理工具箱WFDB Toolbox for Matlab的安装和使用方法。通过下载并添加到Matlab路径中或直接在Matlab中输入相关内容,即可完成安装。该工具箱提供了一系列函数,可以方便地处理生理信号数据。详细的安装和使用方法可以参考本文内容。 ... [详细]
  • 无损压缩算法专题——LZSS算法实现
    本文介绍了基于无损压缩算法专题的LZSS算法实现。通过Python和C两种语言的代码实现了对任意文件的压缩和解压功能。详细介绍了LZSS算法的原理和实现过程,以及代码中的注释。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文详细介绍了PHP中与URL处理相关的三个函数:http_build_query、parse_str和查询字符串的解析。通过示例和语法说明,讲解了这些函数的使用方法和作用,帮助读者更好地理解和应用。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • Firefox火狐浏览器关闭到http://detectportal.firefox.com的流量问题解决办法
    本文介绍了使用Firefox火狐浏览器时出现关闭到http://detectportal.firefox.com的流量问题,并提供了解决办法。问题的本质是因为火狐默认开启了Captive portal技术,当连接需要认证的WiFi时,火狐会跳出认证界面。通过修改about:config中的network.captive-portal-service.en的值为false,可以解决该问题。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
author-avatar
我家的表妹
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有