基于单片机的自平衡无人机的设计重873附件.docx

基于单片机的自平衡无人机的设计重873附件.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

附录1mpu6050程序

#includeALL_DATA.h

#includempu6050.h

#includeI2C.h

#includefilter.h

#includestring.h

#includeLED.h

#includemyMath.h

#includekalman.h

#includeANO_Data_Transfer.h

#define SMPLRT_DIV 0x19

#define CONFIGL 0x1A

#define GYRO_CONFIG 0x1B

#define ACCEL_CONFIG 0x1C

#define ACCEL_ADDRESS 0x3B

#define ACCEL_XOUT_H 0x3B

#define ACCEL_XOUT_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

#defineGYRO_ADDRESS0x43

#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

#defineMPU6050_PRODUCT_ID0x68

#defineMPU6052C_PRODUCT_ID0x72

#ifdef USE_I2C_HARDWARE

#defineMPU6050_ADDRESS0xD0

#else

#defineMPU6050_ADDRESS0xD0

#endif

int16_tMpuOffset[6]={0};

staticvolatileint16_t*pMpu=(int16_t*)MPU6050;

int8_tmpu6050_rest(void)

{

if(IIC_Write_One_Byte(MPU6050_ADDRESS,PWR_MGMT_1,0x80)==FAILED)

returnFAILED;

delay_ms(20);

returnSUCCESS;

}

int8_tMpuInit(void)

{

uint8_tdate=SUCCESS;

bLED_L();

aLED_L();

fLED_H();

hLED_H();

do

{

date=IIC_Write_One_Byte(MPU6050_ADDRESS,PWR_MGMT_1,0x80);

delay_ms(30);

date+=IIC_Write_One_Byte(MPU6050_ADDRESS,SMPLRT_DIV,0x02);

date+=IIC_Write_One_Byte(MPU6050_ADDRESS,PWR_MGMT_1,0x03);

date+=IIC_Write_One_Byte(MPU6050_ADDRESS,CONFIGL,0x03);

date+=IIC_Write_One_Byte(MPU6050_ADDRESS,GYRO_CONFIG,0x18);

date+=IIC_Write_One_Byte(MPU6050_ADDRESS,ACCEL_CONFIG,0x09);

MPU_Err=1;

}

while(date!=SUCCESS);

date=IIC_Read_One_Byte(MPU6050_ADDRESS,0x75);

if(date!=MPU6050_PRODUCT_ID)

returnFAILED;

else

MpuGetOffset();

MPU_Err=0;

returnSUCCESS;

}

#defineGyro_Read()IIC_read_Bytes(MPU6050_ADDRESS,0X3B,buffer,6)

#defineAcc_Read()IIC_read_Bytes(MPU6050_ADDRESS,

文档评论(0)

个人原创未上网文章 + 关注
实名认证
服务提供商

我们是专业写作机构,多年写作经验,专业代写撰写文章、演讲稿、文稿、文案、申请书、简历、协议、ppt、汇报、报告、方案、策划、征文、心得、工作总结代写代改写作服务

1亿VIP精品文档

相关文档