# Simulink接收IMU串口只显示0-255如何解析

> 原文链接：https://robotics.hellobike.com/pitfalls/2015-08-25-robotics-se-7883
> 频道：pitfalls | 更新日期：2015-08-25 | 标签：auto, stackexchange, arduino, electronics, embedded-systems, matlab
> 核心摘要：Simulink串口块只读单字节，应在Arduino和PC端按自定义包结构解析或转发数据。

# Simulink接收IMU串口只显示0-255如何解析

::: v-pre
> 本文由 AI 根据公开内容整理，可能有误，请以原文为准：[How can I get the values of a IMU from the serial message received in Simulink via UART?](https://robotics.stackexchange.com/questions/7883/how-can-i-get-the-values-of-a-imu-from-the-serial-message-received-in-simulink-v)（Robotics Stack Exchange #7883）

**状态**：已解决

## 问题

使用Simulink的Arduino串口接收块读取Arduino Mega 2560上的IMU数据时，直接显示输出只得到0-255的数字，无法得到需要的欧拉角。

## 环境

Arduino Mega 2560；Simulink Arduino Support Package；IMU可输出二进制包或NMEA包；原文提到UM7包结构。

## 解决办法

1. 不要把串口块输出直接当完整数据使用；该块只读一个字节，需要把连续字节拼接后再解析。
2. 在Arduino端先写解析器读取IMU数据，再把解析结果发送到PC；或保存IMU完整数据包并原样转发。
3. 在Simulink端使用`Matlab function block`，粘贴并修改已有串口解析示例，按实际发送到PC的包结构解析。

原问题作者：lsn；采纳答案作者：Chuck。原内容依 CC BY-SA 4.0 授权，本页摘要同样依 CC BY-SA 4.0 授权。
:::

## 原始参考来源 (Sources)

- [Robotics Stack Exchange #7883：How can I get the values of a IMU from the serial message received in Simulink via UART?](https://robotics.stackexchange.com/questions/7883/how-can-i-get-the-values-of-a-imu-from-the-serial-message-received-in-simulink-v)