解决Matlab串口通信中接收到的消息不能正常显示

server/2024/9/24 15:34:54/

问题描述

在这里插入图片描述
如图,经过函数把接收到的十六进制字符串转换为EEE754标准浮点数后速度角度无法正常解析显示,其中速度角度的解码过程如下:
(以速度为例)

yv_temp1= dec2hex(data_receive(2));
yv_temp2= dec2hex(data_receive(3));
yv_temp3= dec2hex(data_receive(4));
yv_temp4= dec2hex(data_receive(5));
hex_v_temp = [yv_temp1, yv_temp2, yv_temp3, yv_temp4];
hex_v = dec2bin(hex2dec(hex_v_temp),32);
M_v = bin2dec(hex_v(10:32));
E_v = bin2dec(hex_v(2:9));
yv = (-1)^(hex_v(1))*(1+M_v*(2^(-23)))*2^(E_v-127);

存在问题

  • 其实就是十六进制字符串的拼接问题:当使用dec2hex函数时,默认情况下,它不会返回前导零。这可能导致拼接后的hex_v_temp字符串长度不是8(因为每个字节应该是两个十六进制字符)。这会影响后续的hex2dec转换。
    修正:确保每个十六进制字符串都有两个字符,不足时补零。

解决方法

yv_temp1 = dec2hex(data_receive(2), 2);  % 确保有两个字符  
yv_temp2 = dec2hex(data_receive(3), 2);  
yv_temp3 = dec2hex(data_receive(4), 2);  
yv_temp4 = dec2hex(data_receive(5), 2);  
hex_v_temp = [yv_temp1, yv_temp2, yv_temp3, yv_temp4];

修改后yv,yr可正常显示


http://www.ppmy.cn/server/121404.html

相关文章

二叉树遍历、查找、深度等

在面试中,二叉树问题是一个常见的主题。下面我将展示如何在 Python 3.11 中实现二叉树的基本结构和几种常见的面试题解法,包括二叉树的遍历、查找、深度等。 1. 二叉树节点的定义 class TreeNode:def __init__(self, value0, leftNone, rightNone):sel…

文献笔记 - Reinforcement Learning for UAV Attitude Control

这篇博文是自己看文章顺手做的笔记 只是简单翻译和整理 仅做个人参考学习和分享 如果作者看到觉得内容不妥请联系我 我会及时处理 本人非文章作者,文献的引用格式如下,原文更有价值 Koch W, Mancuso R, West R, et al. Reinforcement learning for UA…

SpringBoot+Aop+注解方式 实现多数据源动态切换

整体思路: 引入基本依赖SpringBootAopMySqlMyBatislombok在配置文件中配置多个数据源创建数据源配置类用于读取配置编写用于标识切换数据源的注解创建数据源切换工具类DataSourceContextHolder编写切面类用于在注解生效处切换数据源编写配置类,加载数据…

【截稿更新 | 11月杭州 | EI稳定 】

【截稿更新 | 11月杭州 | EI稳定 】2024年人机交互与虚拟现实国际会议(HCIVR 2024) ✅会议时间:2024年11月15-17日 ✅会议地点:中国杭州 🔥二轮截稿日期:2024年10月15日 🌈投稿通道已开启&#…

在一个.NET Core项目中使用RabbitMQ进行即时消息管理

为了在一个.NET Core项目中使用RabbitMQ进行即时消息管理,以下是详细的全程操作指南,包括安装、配置、编写代码和调试使用。 一、安装RabbitMQ 1. 安装Erlang RabbitMQ依赖Erlang,因此需要先安装Erlang。 Windows: 下载并运行Erlang安装…

切换笔记本键盘的启用与禁用状态

使用批处理脚本切换笔记本键盘的启用与禁用状态 背景描述详细步骤及代码解释1. 在管理员模式下运行脚本2. 脚本内容3. 解释 背景描述 在笔记本电脑中,在外接键盘的时候,有时我们希望禁用内置键盘,防止意外按键。Windows 系统中,键…

爬虫的流程

爬虫的流程 获取网页提取信息保存数据自动化程序能爬怎样的数据 获取网页 获取网页就是获取网页的源代码,源代码里包含了网页的部分有用信息,所以只要把源代码获取下来,就可以从中提取想要的信息浏览器访问网页的本质:浏览器向服…

微服务--Gateway网关

在微服务架构中,Gateway(网关)是一个至关重要的组件,它扮演着多种关键角色,包括路由、负载均衡、安全控制、监控和日志记录等。 Gateway网关的作用 统一访问入口: Gateway作为微服务的统一入口&#xff0c…