标题:
STM32模拟IIC-读取MPU6050数据
[打印本页]
作者:
梅梅1655
时间:
2017-12-26 09:35
标题:
STM32模拟IIC-读取MPU6050数据
基于STM32的,模拟IIC,来读取MPU6050的数据。
单片机源程序如下:
#include "stm32f10x.h"
#include "myiic.h"
#include "mpu6050.h"
//*****************************************************************************************************
//向I2C设备写入一个字节数据
//*****************************************************************************************************
void Single_WriteIIC(unsigned char REG_Address,unsigned char REG_data)
{
IIC_Start(); //起始信号
IIC_Send_Byte(SlaveAddress); //发送设备地址+写信号
IIC_Send_Byte(REG_Address); //内部寄存器地址,
IIC_Send_Byte(REG_data); //内部寄存器数据,
IIC_Stop(); //发送停止信号
}
//*******************************************************************************************************
//从I2C设备读取一个字节数据
//*******************************************************************************************************
unsigned char Single_ReadIIC(unsigned char REG_Address)
{
unsigned char REG_data;
IIC_Start(); //起始信号
IIC_Send_Byte(SlaveAddress); //发送设备地址+写信号
IIC_Send_Byte(REG_Address); //发送存储单元地址,从0开始
IIC_Start(); //起始信号
IIC_Send_Byte(SlaveAddress+1); //发送设备地址+读信号
REG_data=IIC_Read_Byte(); //读出寄存器数据
IIC_Ack(); //接收应答信号
IIC_Stop(); //停止信号
return REG_data;
}
//******************************************************************************************************
//初始化MPU6050
//******************************************************************************************************
void InitMPU6050()
{
Single_WriteIIC(PWR_MGMT_1, 0x00); //解除休眠状态
Single_WriteIIC(SMPLRT_DIV, 0x07);
Single_WriteIIC(CONFIG, 0x06);
Single_WriteIIC(GYRO_CONFIG, 0x18);
Single_WriteIIC(ACCEL_CONFIG, 0x01);
}
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
mpu6050-模拟iic.zip
(3.42 KB, 下载次数: 73)
2017-12-26 09:34 上传
点击文件名下载附件
用模拟iic读取mpu6050数据
下载积分: 黑币 -5
作者:
ccppww806
时间:
2018-8-3 22:12
不是整个工程吗?
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1