simulink代码生成(九)—— 串口显示数据(纸飞机联合调试)

纸飞机里面的协议是固定的,必须按照协议配置;

(1)使用EasyHEX协议,测试int16数据类型

测试串口发出的数据是否符合?

串口接收数据为:

打开纸飞机绘图侧:

(1)打开数据可视化,选择协议为EasyHEX;

(2)设置数据类型,选择数据类型为int16;

可以看到示波器上看到了数据的更新;一根线条是显示为1,一根线条显示为-3;

(2)使用FLOAT协议,测试 float 数据类型

FLOAT的数据类型标记是 0XFFFFFFFF

这个 0XFFFFFFFF 在matlab里面是多少呢?

由于

 float f = 0xFFFFFFFF;

这一句完全是错误的用法,它不会使f变量内存变为4个0xFF,因为0xFFFFFFFF根本就不是有效的float数值,编译器无从处理,如果用printf('%x')打印f的值,结果一定不是0xFFFFFFFF。

所以没办法直接输入一个值使得串口输出0xFFFFFFFF,最好还是输入FLOAT协议的 0X7F800000

X = uint8([00 00 128 127])
Y = typecast(X,'single')

得到Y值位inf,尝试一下;

那么输入多个single值的数据,是否能够显示在示波器中;

尝试一下搭建代码生成模块;

然后连上纸飞机观察波形;满足设计要求;

(3)使用FLOAT协议,显示ia波形

这个就是最终用途了;

坑(1):float数据放在中断里面发送,发现中断100us执行不完,电机直接失控;

坑(2):将输出放置在串口接收中断中,2ms发一次数据,收一次数据,仍然失控,仅有10ms好使;

如下图所示,后续需要尝试更加优化的解决措施;目前先就这么用着吧。

(4)使用EasyHEX协议,显示ia波形

假如传输single数据占用的时间较多,那么是否能够尝试使用int16数据进行传输呢?

测试一:相同在串口中断中执行,10ms发送一次数据,是否能够采集?(可以采集;)

测试二:相同在串口中断中执行,5ms发送一次数据,是否能够采集?(可以采集;)

测试三:相同在串口中断中执行,2ms发送一次数据,是否能够采集?(可以采集;)

测试四:串口发送放置在ADC中断中执行,查看是否电机失控?(无法采集;)有待继续探索其他观测方案;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/323875.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MINCO+汽车

对于环境中的静态障碍物,我们构造几何自由空间来约束自我车辆的完整模型以保证安全。 对于动态障碍物,我们使用凸多边形来覆盖其形状。 然后,我们约束小车与障碍物多边形在每一时刻的符号距离[1]的下界近似,以保证小车的安全。 …

软件测试基础理论学习-常见软件开发模型

瀑布模型 背景 瀑布模型的概念最早在1970年由软件工程师Winston W. Royce在其论文《Managing the Development of Large Software Systems》中提出。Royce虽然没有明确提出“瀑布模型”这个术语,但他描述了一种线性的、阶段性的开发流程,各个阶段之间具…

从零学Java - 面向对象 abstract

面向对象 abstract 文章目录 面向对象 abstract1.什么是抽象?1.1 生活中的抽象 2.抽象类2.1 不该被创建对象的类2.2 抽象类的语法2.3 抽象类的作用2.4 抽象类的特点 3.抽象方法3.1 不该被实现的方法3.2 抽象方法的语法3.3 抽象方法的特点 4.总结4.1 抽象类4.2 抽象方法 1.什么…

人生重开模拟器

前言: 人生重开模拟器是前段时间非常火的一个小游戏,接下来我们将一起学习使用c语言写一个简易版的人生重开模拟器。 网页版游戏: 人生重开模拟器 (ytecn.com) 1.实现一个简化版的人生重开模拟器 (1) 游戏开始的时…

3190个文件!10GB大小!看3D WEB轻量引擎HOOPS Communicator如何高性能读取?

前言: HOOPS Communicator是专为在云端和Web上构建工程应用程序的3D开发工具包。它针对Web工作流、浏览器和工程图形进行了优化。研发小组花了20多年的时间来研发HOOPS Visualize(本地3D可视化引擎),他们在这些工作中积累了大量计…

vue3学习 【2】vite起步和开发工具基本配置

vite的简介 官方文档 刚起步学习,所以我们只需要按照官方文档的入门流程即可。推荐阅读一下官网的为什么使用vite vite目前需要的node版本是18,可以参考上一篇文章的安装nvm,用来进行多版本的node管理。 vite安装与使用 npm create vitela…

Python基础篇: 环境安装

Python基础环境使用 一:运行环境Anaconda介绍1、Anaconda搭建1.1、下载方式1.2、安装1.3、验证是否安装成功 2、管理python环境2.1、列出所有环境2.2、创建环境2.3、进入指定虚拟环境2.4、离开虚拟环境2.5、删除虚拟环境 3、依赖管理3.1、安装依赖3.2、卸载依赖3.3、…

Android linphone-android sdk设置语音编码问题

1.遇到的问题 今天遇到linphone-android sdk需要解决语音编码问题,需要指定编码。查了下配置,里面没有发现类似的配置。 ## Start of factory rc # This file shall not contain path referencing package name, in order to be portable when app is r…

uni-app 前后端调用实例 基于Springboot 上拉分页实现

锋哥原创的uni-app视频教程: 2023版uniapp从入门到上天视频教程(Java后端无废话版),火爆更新中..._哔哩哔哩_bilibili2023版uniapp从入门到上天视频教程(Java后端无废话版),火爆更新中...共计23条视频,包括:第1讲 uni…

篮球羽毛球乒乓球体育场馆预订小程序开发

开发一款专业的小程序,用于多场馆场地的预定和管理,包括体育馆、羽毛球馆、兵乒球馆、篮球馆等各类场馆。此小程序旨在为场馆提供全方位的运营解决方案,并满足会员的不同需求。 该小程序的核心功能特性包括: 场馆管理&#xff…

小心JDK20 ZipOutputStream

Oracle 團隊竟然這麽粗心,編譯JDK 20 時ZipOutputStream沒有編譯成功就發佈了。 所以這個20版本不可以使用ZipOutputStream。 GZIPInputStream 只能做最後的壓縮,不能添加多個附件ZipEntry。 下一個版本21不存在這個問題。 try(var zipOut new ZipOu…

SSM在线手机品牌商城----计算机毕业设计

项目介绍 该项目为前后台项目,分为普通用户与管理员两种角色,前台普通用户登录,后台管理员登录; 管理员角色包含以下功能: 管理员登录,用户管理,品牌管理,子品牌管理,商品管理,订单管理,留言板管理等功能。 用户角…