MPU6050加速度计使用说明书V4
自己整理的MPU6050中文资料

《自己整理的MPU6050中文资料》一、MPU6050简介MPU6050是一款集成了加速度计和陀螺仪的六轴运动处理传感器。
它采用小巧的封装,具有高精度、低功耗的特点,广泛应用于无人机、智能穿戴设备、智能手机等领域。
通过测量物体在三维空间中的加速度和角速度,MPU6050可以帮助我们实现对运动状态的实时监测和分析。
二、MPU6050核心特点1. 六轴运动处理:MPU6050将加速度计和陀螺仪集成在一个芯片上,实现六轴运动处理。
2. 数字输出:采用数字输出接口,方便与微控制器(如Arduino、STM32等)进行通信。
3. 高精度:加速度计精度为±16g,陀螺仪精度为±2000°/s,满足大多数应用场景的需求。
4. 低功耗:在低功耗模式下,功耗仅为5μA,适用于长时间运行的设备。
5. 小巧封装:采用QFN封装,尺寸仅为4mm×4mm×0.9mm,便于集成到各种产品中。
6. 宽工作电压范围:2.5V至3.5V,适应不同电压需求的场景。
三、MPU6050应用场景1. 无人机:通过MPU6050实时监测飞行器的姿态,实现自主悬停、定高、平稳飞行等功能。
2. 智能穿戴设备:监测用户运动状态,如步数、步频、跌倒检测等,为健康管理提供数据支持。
3. 智能手机:辅机实现重力感应、游戏控制等功能。
4. VR/AR设备:实时监测头部姿态,为虚拟现实体验提供精准的交互。
5. 车载导航:辅助车辆进行姿态检测,提高导航精度。
6. 工业自动化:用于监测设备运行状态,实现故障预警和自动调节。
四、MPU6050接口说明1. SDA:I2C数据线,用于与微控制器通信。
2. SCL:I2C时钟线,与SDA配合实现数据传输。
3. AD0:I2C地址选择线,通过改变AD0的电平,可以设置MPU6050的I2C地址。
4. INT:中断输出,当MPU6050检测到特定事件时,通过INT脚输出中断信号。
MPU6050寄存器操作

MPU6050寄存器操作MPU6050的寄存器地址由一个7位的二进制数字表示,最高位为0表示读操作,为1表示写操作。
在进行寄存器操作之前,需要先向MPU6050的I2C地址发送START信号,然后发送要读写的寄存器地址,再发送ACK信号。
下面是一些常用的MPU6050寄存器及其功能说明:1.SMPLRT_DIV寄存器(采样频率分频器):用于配置采样频率,通过设置寄存器的值,可以调整采样频率的分频比。
2. Gyro Config寄存器(陀螺仪配置):用于配置陀螺仪的量程和滤波器。
通过设置寄存器的值,可以选择陀螺仪的量程范围和滤波器带宽。
3. Accelerometer Config寄存器(加速度计配置):用于配置加速度计的量程和滤波器。
通过设置寄存器的值,可以选择加速度计的量程范围和滤波器带宽。
4.PWR_MGMT_1寄存器(电源管理):用于控制MPU6050的电源管理,包括选择时钟源、休眠模式等。
通过设置寄存器的值,可以控制MPU6050的电源状态。
5.FIFO寄存器(数据缓冲区):MPU6050内部有一个FIFO缓冲区,用于存储传感器的原始数据。
通过读写FIFO寄存器,可以实现对传感器数据的存取。
在进行MPU6050寄存器操作时1.寄存器操作需要使用I2C总线进行通信,需要先初始化I2C接口,并设置MPU6050的I2C地址。
2.在进行寄存器写操作时,需要先向MPU6050发送START信号,然后发送写操作的寄存器地址及要写入的数据,最后发送STOP信号。
3.在进行寄存器读操作时,需要先向MPU6050发送START信号,然后发送读操作的寄存器地址和MPU6050的I2C地址,再发送ACK信号。
接着读取MPU6050返回的数据,最后发送STOP信号。
4.在进行寄存器操作时,需要根据MPU6050的数据手册来确定寄存器地址和相关配置值的含义和取值范围。
使用MPU6050时,可以通过对寄存器的配置来满足不同的应用需求。
合嵌盘古 MPU6050陀螺仪模块规格书

合嵌盘古陀螺仪模块规格书合嵌盘古Gyroscope-601陀螺仪模块,测量运动或震动的三轴全方向的角速度值和加速度值,角速度最大测量范围±2000°/sec,加速度最大测量范围达到±16g。
合嵌盘古陀螺仪模块采集到的物体运动的实际角速度值和加速度值,直接从串口输出。
输出的数据格式有两种形式,分别为16进制数据和根据传感器芯片手册中的数据转换规则转换得到的实际角速度值和加速度值。
另外,本陀螺仪模块可以通过串口设置加速度阀值。
当加速度模块测量到物体运动的加速度达到此阀值时,将通过IO口输出一个高电平或低电平的跳变信号,作为中断信号使用。
合嵌盘古Gyroscope-601陀螺仪模块通过串口输出的加速度值数据如下所示:aX=0X66 +0.0gaY=0Xfff3 -0.0gaZ= 0Xe8b +0.9ggX=0Xffc6 -0.43dpsgY=0X2d +0.34dpsgZ= 0Xff7b -1.01dps其中:aX、aY、aZ分别表示三轴加速度值,gX、gY、gZ分别表示三轴角速度值。
其中 aX=0X66 +0.0g 中的0X66表示传感器测量到的16进制加速度值, +0.0g表示根据加速度传感器芯片的数据转换规则转换成的物体运动的加速度值。
其中 gX=0Xffc6 -0.43dps 中的0X ffc6表示传感器测量到的16进制角速度值,-0.43dps表示根据加速度传感器芯片的数据转换规则转换成的物体运动的角速度值。
陀螺仪模块的电气参数:工作电压: +5V工作电流: ≤50mA陀螺仪模块的技术参数:测量方向:三轴全方向自检测: 支持传感器模块的自检测加速度值测量范围: ≤±16g角速度最大测量范围: ≤±2000°/sec最高灵敏度:≤131 LSB/(º/s)数据输出率:最大8KHz抗震动的最大忍受度:≤1000g联系Q Q: 1094606988加速度模块研发生产商:安徽合嵌电子科技有限公司地址:滁州市花园西路82号1栋302#网址:应用汽车运动及汽车转弯碰撞检测、轮船运动及转弯碰撞检测、运动物体检测、电子稳像、光学稳像、 行人导航器、 “零触控”手势用户接口、 姿势快捷方式 、认证市场智能型手机 平板装置设备 手持型游戏产品 游戏机 3D遥控器 可携式导航设备。
mpu6050的使用

写入数据0x6b,0x00.让芯片开始工作 设置陀螺仪采样率。写入0x19,0x07
设置滤波器频率。写入0x1A,0x06 设置陀螺仪测量范围。写入0x1B,0x18
设置加速度计。写入0x1c,0x01
1,滤波可以用互补滤波来实现,互补滤波的资料很多,大家随便就能找到。基本公式是:
角速度=采样值-偏移值 加速度=采样值-偏移值
1.定义数组 2将得到的数据分开成一位一位的 3打开段选。 4选择数据放入 5关闭段选 6打开位选 7选择数码管位数 8关闭位选
数据处理
• 这里主要采用四元角姿态解算。详见链接
mpu6050的使用工作源自理• 该芯片分有陀螺仪和加速度计的功能。 • 陀螺仪可以采集物体转动的角速度信号,通过ad转换成数字信
号采集回来。通过通信传输给单片机。 • 加速度计则是采集物体的加速度信号,并传输回来。
开始 串口初始化 芯片初始化
读取数据 处理数据 送入显示
时钟线拉高 延时
数据线拉高 延时
MPU6050教程

MPU6050教程MPU6050是一款常用的惯性测量单元(IMU)模块,内集成3轴加速度计和3轴陀螺仪。
它能够测量物体在三个维度上的加速度和角速度,被广泛应用于无人机、机器人和虚拟现实等领域。
在本篇教程中,我们将介绍如何使用MPU6050模块进行数据采集和传输。
一、MPU6050模块的硬件连接要使用MPU6050模块,首先需要将其与其他硬件设备连接起来。
MPU6050通过I2C总线与单片机或其他主控设备通信。
连接时,将MPU6050的SDA引脚连接到单片机的SDA引脚,以及将MPU6050的SCL引脚连接到单片机的SCL引脚。
同时,还需要为MPU6050提供电源,将模块的VCC引脚连接到3.3V电源,将GND引脚连接到地。
二、MPU6050模块的软件配置```#include <Wire.h>#include <MPU6050.h>void setuWire.begin(;mpu.initialize(;```三、读取MPU6050的数据一旦完成了初始化,就可以读取MPU6050的数据了。
MPU6050中包含6个16位的寄存器,分别存储3轴加速度和3轴角速度的原始数据。
可以通过以下代码读取这些数据:```int16_t ax, ay, az; //加速度原始数据int16_t gx, gy, gz; //角速度原始数据void loompu.getAcceleration(&ax, &ay, &az);mpu.getRotation(&gx, &gy, &gz);```四、处理MPU6050的数据在读取了MPU6050的原始数据后,可以根据需要进行进一步处理。
比如,可以将原始数据转换为物体在各个维度上的实际加速度和角速度。
具体的转换方法可以参考MPU6050的数据手册或相关资料。
五、MPU6050数据的传输一旦完成了数据的处理,就可以将其传输给其他设备或进行存储了。
MPU6050教程

第错误!未定义书签。
页共10页MPU6050教程1.1MPU6050简介如果你想玩四轴,想搞什么空中鼠标,平衡车等待,那么MPU6050真的是太强大了,能做很多东西。
玩MPU6050的步骤:1.学习I2C ,I2C 就是MPU6050传送数据到单片机的一种协议,类似于USB ,当然USB 还是比较有难度的。
2.了解MPU6050相关寄存器,有中文版本的,一边学一边看例程就可以获取数据了。
3.把获取的数据进行各种处理。
1.2IIC 简介IIC 可以去看下我们野火相关的教程,在这里只是简单地介绍下,先看下我们的书或者教程,从EEPROM 里面写入和读取数据,因为EEPROM 写入和读取数据也是根据I2C 协议来的。
I2C 有分软件和硬件,软件就你通过对I2C 的时钟线和数据线,可能你不知道时钟线和数据线,那还是先去学I2C 的基础教程。
软件模拟I2C 就是根据下面的图然后再适当的时候给时钟线和数据线高低,具体可以看I2C 的协议见图1-1。
图1-1IIC 起始字节时序图这部分学习的诀窍就是:先写下I2C通讯的一个环节就好了,比如起始字节,其他的也是大同小异,直接上网找例程就好了,想要用软件模拟出全部的时序当然也可以。
还有一个方式可以用I2C读写数据,就是硬件I2C,硬件I2C就是单片机内部的电路,可以将I2C的时序用硬件电路搞出来,这样子你读写数据就方便很多了。
STM32硬件I2C可以去看我们野火的教程。
1.3读取MPU6050原始数据我们先来认识下MPU6050的硬件,这是MPU6050模块的图片,注意是模块,中间那个才是MPU6050,只有MPU6050是不够的,还要有一些外围电路才行,这就跟51芯片跟最小系统的区别一样。
图1-2MPU6050模块正面图1-3MPU6050模块背面管脚名称说明VCC 3.3-5V(内部有稳压芯片)GND地线SCL MPU6050作为从机时IIC时钟线SDA MPU6050作为从机时IIC数据线XCL MPU6050作为主机时IIC时钟线XDA MPU6050作为主机时IIC数据线AD0地址管脚,该管脚决定了IIC地址的最低一位INT中断引脚这里重点讲解AD0的作用,I2C通讯中从机是要有地址的,以区别多个从机。
MPU6050教程

MPU6050教程MPU6050是一款六轴传感器,可测量加速度和角速度。
它集成了三轴加速度计和三轴陀螺仪,同时还具备温度传感器。
这使得MPU6050非常适合于飞行器、机器人和游戏控制器等项目。
在本教程中,我们将介绍如何使用MPU6050传感器,并使用Arduino进行数据读取和处理。
1.硬件准备:-MPU6050模块- Arduino主控板-杜邦线-电阻(10kΩ)先将杜邦线连接到MPU6050模块上。
将VCC接到Arduino的5V引脚,将GND接到地线引脚,将SCL接到Arduino的A5引脚(或者SCL引脚),将SDA接到Arduino的A4引脚(或者SDA引脚)。
注意:MPU6050是通过I2C协议与Arduino通信的,因此您需要确认Arduino上的I2C引脚与连接的引脚匹配。
2.软件准备:- MPU6050库(可在Arduino库管理器中)打开Arduino IDE并创建一个新的项目。
在库管理器中“MPU6050”,并安装最新版本的库。
然后在工具菜单中选择适当的Arduino板和端口。
3.代码编写:在新建的Arduino项目中,首先包含MPU6050库,然后声明四个变量,分别用于存储加速度计和陀螺仪的值。
在setup函数中,初始化MPU6050并打开串口通信。
```cpp#include <Wire.h>#include <MPU6050.h>int16_t accel_x, accel_y, accel_z;int16_t gyro_x, gyro_y, gyro_z;void setuWire.begin(;mpu.initialize(;Serial.begin(9600);}```4.数据读取:在loop函数中,使用mpu.getMotion6函数读取加速度计和陀螺仪的数据。
您可以使用Serial.print函数将这些值打印到串口监视器中。
```cppvoid loompu.getMotion6(&accel_x, &accel_y, &accel_z, &gyro_x, &gyro_y, &gyro_z);Serial.print("Accel: ");Serial.print(accel_x);Serial.print(" ");Serial.print(accel_y);Serial.print(" ");Serial.println(accel_z);Serial.print("Gyro: ");Serial.print(gyro_x);Serial.print(" ");Serial.print(gyro_y);Serial.print(" ");Serial.println(gyro_z);delay(100); // 数据读取延迟}```5.数据解释:加速度计和陀螺仪的值是原始数据,单位为每个轴的原始计数。
MPU6050使用说明书V4

1、电压:3V~6V 2、电流:<10mA 3、体积:15.24mm X 15.24mm X 2mm
-1-
【君悦智控】
4、焊盘间距:上下 100mil(2.54mm),左右 600mil(15.24mm) 5、测量维度:加速度:3 维,角速度:3 维,姿态角:3 维 6、量程:加速度:± 16g,角速度:± 2000°/s。 7、分辨率:加速度:6.1e-5g,角速度:7.6e-3°/s。 8、稳定性:加速度:0.01g,角速度 0.05°/s。 9、姿态测量稳定度:0.01°。 10、数据输出频率 100Hz(波特率 115200)/20Hz(波特率 9600)。 11、数据接口:串口(TTL 电平),I2C(直接连 MPU6050,无姿态输出) 10、波特率 115200kps/9600kps。
Re_buf[counter]=UDR;//不同单片机略有差异 if(counter==0&&Re_buf[0]!=0x55) return; //第 0 号数据不是帧头,跳过
-7-
【君悦智控】
5.3 数据解析示例代码:
double a[3],w[3],Angle[3],T; void DecodeIMUData(unsigned char chrTemp[]) {
switch(chrTemp[1]) { case 0x51:
掉电保存,建议使用上位机修改
说明:
1.模块上电以后需先保持静止,模块内部的 MCU 会在模块静止的时候进行自动校准(消
除陀螺零漂),校准以后 Z 轴的角度会重新初始化为 0,Z 轴角度输出为 0 时,可视为自动
校准完成的信号。
2.出厂默认设置使用串口,波特率 115200,帧率 100Hz。配置可通过上位机软件配置,
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
掉电保存,建议使用上位机修改
说明:
1.模块上电以后需先保持静止,模块内部的 MCU 会在模块静止的时候进行自动校准(消
除陀螺零漂),校准以后 Z 轴的角度会重新初始化为 0,Z 轴角度输出为 0 时,可视为自动 校准完成的信号。
2.出厂默认设置使用串口,波特率 115200,帧率 100Hz。配置可通过上位机软件配置, 因为所有配置都是掉电保存的,所以只需配置一次就行。
-8-
【君悦智控】
5.1 上位机至模块
指令内容
功能
备注
0x52
角度初始化
使 Z 轴角度归零
0x61
使用串口,禁用 I2C
掉电保存,建议使用上位机修改
0x62
禁用串口,使用 I2C 接口
掉电保存,建议使用上位机修改
0x63
波特率 115200,帧率 100Hz
掉电保存,建议使用上位机修改
0x64
波特率 9600,帧率 20Hz
ax=((AxH<<8)|AxL)/32768*16g(g 为重力加速度,可取 9.8m/s2) ay=((AyH<<8)|AyL)/32768*16g(g 为重力加速度,可取 9.8m/s2) az=((AzH<<8)|AzL)/32768*16g(g 为重力加速度,可取 9.8m/s2) 温度计算公式:
3 引脚说明:
名称 VCC RX TX GND SCL SDA
功能 模块电源,3.3V 或 5V 输入 串行数据输入,TTL 电平 串行数据输出,TTL 电平
地线 I2C 时钟线 I2C 数据线
-2-
【君悦智控】
4 硬件连接方法
4.1 与计算机
Sum=0x55+0x53+RollH+RollL+PitchH+PitchL+YawH+YawL+TH+TL
注: 1. 姿态角结算时所使用的坐标系为东北天坐标系,正方向放置模块,如下图所示向左
为 X 轴,向前为 Y 轴,向上为 Z 轴。欧拉角表示姿态时的坐标系旋转顺序定义为为 z-y-x,即先绕 z 轴转,再绕 y 轴转,再绕 x 轴转。 2. 滚转角的范围虽然是±180 度,但实际上由于坐标旋转顺序是 Z-Y-X,在表示姿态 的时候,俯仰角(Y 轴)的范围只有±90 度,超过 90 度后会变换到小于 90 度,同时 让 X 轴的三轴是耦合的,只有在小角度的时候会表现出独立变化,在大角度的时候姿态 角度会耦合变化,比如当 X 轴接近 90 度时,即使姿态只绕 X 轴转动,Y 轴的角度也 会跟着发生较大变化,这是欧拉角表示姿态的固有问题。
-4-
【君悦智控】
4.4 用上位机监视模块与单片机的通信。
如果需要在 MCU 接受 6050 模块的输出数据的同时,用上位机监视当前的数据,可以 将 USB 转串口模块的 RX 接到模块的 TX 引脚上,并共地即可。
5 通信协议
电平:TTL 电平(非 RS232 电平,若将模块错接到 RS232 电平可能造成模块损坏) 波特率:115200/9600,停止位 1,校验位 0。
Sum=0x55+0x52+wxH+wxL+wyH+wyL+wzH+wzL+TH+TL
5.2.3 角度输出:
数据编号
数据内容
含义
0 1 2 3 4 5 6 7 8 9 10 角速度计算公式:
0x55 0x53 RollL RollH PitchL PitchH YawL YawH TL TH Sum
-5-
【君悦智控】
5. 个数据包,分别为加速度包,角速度包和角度包,3 个数据包顺序输出。波特率 115200 时每隔 10ms 输出 1 帧数据,波特率 9600 时每隔 50ms 输出一帧数据。
【君悦智控】
高精度 6 轴惯性导航模块说明书 1 产品概述
此六轴模块采用高精度的陀螺加速度计 MPU6050,通过处理器读取 MPU6050 的测量 数据然后通过串口输出,免去了用户自己去开发 MPU6050 复杂的 I2C 协议,同时精心的 PCB 布局和工艺保证了 MPU6050 收到外接的干扰最小,测量的精度最高。
4.3 MCU 连单片机并输出调试信息。
通常情况下,MCU 的串口资源比较紧张,有的单片机只有一个串口,而且调试的时候 需要通过串口输出调试信息,这时可以将 MCU 的 TX 引脚连接到 USB 转串口模块的 RX 上, 6050 模块的 TX 接到 MCU 的 RX 引脚上,这样 MCU 既可以收到 6050 模块的数据,又可以 输出调试信息了。只是 MCU 无法输出串口指令给 6050 模块了,不过模块的配置都是可以 掉电保存的,而且校准可以再上电后第三秒钟自动执行,通常情况下不用发送任何指令即可 工作。
与计算机连接,需要 USB 转 TTL 电平的串口模块。推荐以下两款 USB 转串口模块。
USB 串口模块连接 6050 模块的方法是:USB 串口模块的+5V,TXD,RXD,GND 接 6050 模块的 VCC,RX,TX,GND。注意 TXD 和 RXD 的交叉。
-3-
4.2 连单片机
【君悦智控】
包头 标识这个包是角度包 X 轴角度低字节 X 轴角度高字节 y 轴角度低字节 y 轴角度高字节 z 轴角度低字节 z 轴角度高字节 温度低字节 温度高字节 校验和
滚转角(x 轴)Roll=((RollH<<8)|RollL)/32768*180(°) 俯仰角(y 轴)Pitch=((PitchH<<8)|PitchL)/32768*180(°) 偏航角(z 轴)Yaw=((YawH<<8)|YawL)/32768*180(°) 温度计算公式: T=((TH<<8)|TL) /340+36.53 ℃ 校验和:
5.4 嵌入式环境下解析数据实例
分成两个部分,一个是中断接收,找到数据的头,然后把数据包放入数组中。另一个是 数据解析,放在主程序中。
中断部分(一下为 AVR 单片机代码,不同单片机读取寄存器略有差异,需根据实际情况 调整):
unsigned char Re_buf[11],counter=0; unsigned char sign; interrupt [USART_RXC] void usart_rx_isr(void) //USART 串行接收中断
2 性能参数
1、电压:3V~6V 2、电流:<10mA 3、体积:15.24mm X 15.24mm X 2mm
-1-
【君悦智控】
4、焊盘间距:上下 100mil(2.54mm),左右 600mil(15.24mm) 5、测量维度:加速度:3 维,角速度:3 维,姿态角:3 维 6、量程:加速度:± 16g,角速度:± 2000°/s。 7、分辨率:加速度:6.1e-5g,角速度:7.6e-3°/s。 8、稳定性:加速度:0.01g,角速度 0.05°/s。 9、姿态测量稳定度:0.01°。 10、数据输出频率 100Hz(波特率 115200)/20Hz(波特率 9600)。 11、数据接口:串口(TTL 电平),I2C(直接连 MPU6050,无姿态输出) 10、波特率 115200kps/9600kps。
5.2.1 加速度输出:
数据编号
数据内容
含义
0
0x55
包头
1
0x51
标识这个包是加速度包
2
AxL
X 轴加速度低字节
3
AxH
X 轴加速度高字节
4
AyL
y 轴加速度低字节
5
AyH
y 轴加速度高字节
6
AzL
z 轴加速度低字节
7
AzH
z 轴加速度高字节
8
TL
温度低字节
9
TH
温度高字节
10
Sum
校验和
加速度计算公式:
含义 包头 标识这个包是角速度包 X 轴角速度低字节 X 轴加速度高字节 y 轴加速度低字节 y 轴加速度高字节 z 轴加速度低字节 z 轴加速度高字节 温度低字节 温度高字节 校验和
-6-
【君悦智控】
wx=((wxH<<8)|wxL)/32768*2000(°/s) wy=((wyH<<8)|wyL)/32768*2000(°/s) wz=((wzH<<8)|wzL)/32768*2000(°/s) 温度计算公式: T=((TH<<8)|TL) /340+36.53 ℃ 校验和:
a[0] = (short(chrTemp[3]<<8|chrTemp[2]))/32768.0*16; a[1] = (short(chrTemp[5]<<8|chrTemp[4]))/32768.0*16; a[2] = (short(chrTemp[7]<<8|chrTemp[6]))/32768.0*16; T = (short(chrTemp[9]<<8|chrTemp[8]))/340.0+36.25; printf("a = %4.3f\t%4.3f\t%4.3f\t\r\n",a[0],a[1],a[2]); break; case 0x52: w[0] = (short(chrTemp[3]<<8|chrTemp[2]))/32768.0*2000; w[1] = (short(chrTemp[5]<<8|chrTemp[4]))/32768.0*2000; w[2] = (short(chrTemp[7]<<8|chrTemp[6]))/32768.0*2000; T = (short(chrTemp[9]<<8|chrTemp[8]))/340.0+36.25; printf("w = %4.3f\t%4.3f\t%4.3f\t\r\n",w[0],w[1],w[2]); break; case 0x53: Angle[0] = (short(chrTemp[3]<<8|chrTemp[2]))/32768.0*180; Angle[1] = (short(chrTemp[5]<<8|chrTemp[4]))/32768.0*180; Angle[2] = (short(chrTemp[7]<<8|chrTemp[6]))/32768.0*180; T = (short(chrTemp[9]<<8|chrTemp[8]))/340.0+36.25; printf("Angle = %4.2f\t%4.2f\t%4.2f\tT=%4.2f\r\n",Angle[0],Angle[1],Angle[2],T); break; } }