/home/gwh/文档/Life/随笔/ATmega16A 的 Mpu6050 接口与实现.odt 2015.05.16 17:00
0. 使用 avr-gcc(GCC), 版本 4.8.2; avr libc 版本 1.8.0; 晶振频率 8MHz
1. Mpu6050_I2C.h
#ifndef __MPU6050_H__
#define __MPU6050_H__
#include <inttypes.h>
extern void Mpu6050_I2C_Init(void);
extern unit8_t Mpu6050_read8bit(uint8_t Reg_Addr);
extern void Mpu6050_write8bit(uint8_t Reg_Addr, uint8_t Reg_data);
#endif /* __MPU6050_I2C_H__ */
2. Mpu6050.h
#ifndef __MPU6050_H__
#define __MPU6050_H__
#include <inttypes.h>
#define SMPLRT_DIV 0x19
#define CONFIG 0x1A
#define GYRO_CONFIG 0x1B
#define ACCEL_CONFIG 0x1C
#define ACCEL_XOUT_H 0x3B
#define ACCEL_YOUT_L 0x3C
#define ACCEL_YOUT_H 0x3D
#define ACCEL_YOUT_L 0x3E
#define ACCEL_ZOUT_H 0x3F
#define ACCEL_ZOUT_L 0x40
#define TEMP_OUT_H 0x41
#define TEMP_OUT_L 0x42
#define GYRO_XOUT_H 0x43
#define GYRO_XOUT_L 0x44
#define GYRO_YOUT_H 0x45
#define GYRO_YOUT_L 0x46
#define GYRO_ZOUT_H 0x47
#define GYRO_ZOUT_L 0x48
#define PWR_MGMT_1 0x6B
#define WHO_AM_I 0x75
#define SlaveAddress 0xD0
extern void Mpu6050_Init(void);
extern int16_t Mpu6050_GetData(uint8_t Reg_Addr);
#endif /* __MPU6050_H__ */