ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:19.81KB ,
资源ID:7752960      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-7752960.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(mpu6050详细C语言程序Word下载.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

mpu6050详细C语言程序Word下载.docx

1、#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 /电源管理,典型值:0x00(正常启用)/#define WHO

2、_AM_I 0x75 /IIC地址寄存器(默认数值0x68,只读)/*#define MPU6050_Addr 0xD0 /定义器件在IIC总线中的从地址,根据ALT ADDRESS地址引脚不同修改unsigned char TX_DATA4; /显示据缓存区unsigned char BUF10; /接收数据缓存区char test=0; /IIC用到short T_X,T_Y,T_Z,T_T; /X,Y,Z轴,温度/模拟IIC端口输出输入定义#define SCL_H GPIOB-BSRR = GPIO_Pin_6#define SCL_L GPIOB-BRR = GPIO_Pin_6 #

3、define SDA_H GPIOB-BSRR = GPIO_Pin_7#define SDA_L GPIOB-BRR = GPIO_Pin_7#define SCL_read GPIOB-IDR & GPIO_Pin_6#define SDA_read GPIOB- GPIO_Pin_7/* 函数申明 -*/void RCC_Configuration(void);void GPIO_Configuration(void);void NVIC_Configuration(void);void USART1_Configuration(void);void WWDG_Configuration

4、(void);void Delay(u32 nTime);void Delayms(vu32 m);/* 变量定义 -*/ /*/void DATA_printf(uchar *s,short temp_data) if(temp_data0) temp_data=-temp_data; *s=-; else *s= *+s =temp_data/100+0x30; temp_data=temp_data%100; /取余运算 *+s =temp_data/10+0x30; temp_data=temp_data%10; *+s =temp_data+0x30; * Function Name

5、 : I2C_GPIO_Config* Description : Configration Simulation IIC GPIO* Input : None * Output : None* Return :* */void I2C_GPIO_Config(void) GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPI

6、O_Mode_Out_OD; GPIO_Init(GPIOB, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; I2C_delay Simulation IIC Timing series delayvoid I2C_delay(void) u8 i=30; /这里可以优化速度 ,经测试最低到5还能写入 while(i) i-; void delay5ms(void) int i=5000; I2C_Start Master Start Simulation IIC Communication Wheather S

7、tartbool I2C_Start(void) SDA_H; SCL_H; I2C_delay(); if(!SDA_read)return FALSE; /SDA线为低电平则总线忙,退出 SDA_L; if(SDA_read) return FALSE; /SDA线为高电平则总线出错,退出 return TRUE; I2C_Stop Master Stop Simulation IIC Communicationvoid I2C_Stop(void) SCL_L; I2C_Ack Master Send Acknowledge Singlevoid I2C_Ack(void) I2C_No

8、Ack Master Send No Acknowledge Singlevoid I2C_NoAck(void) I2C_WaitAck Master Reserive Slave Acknowledge Single Wheather Reserive Slave Acknowledge Singlebool I2C_WaitAck(void) /返回为:=1有ACK,=0无ACK if(SDA_read) return FALSE; I2C_SendByte Master Send a Byte to Slave Will Send Datevoid I2C_SendByte(u8 Se

9、ndByte) /数据从高位到低位/ u8 i=8; while(i-) if(SendByte&0x80) else SendByte=1; SCL_H; I2C_RadeByte Master Reserive a Byte From Slave Date From Slave unsigned char I2C_RadeByte(void) /数据从高位到低位/ u8 ReceiveByte=0; ReceiveByte7) | SlaveAddress & 0xFFFE);/设置高起始地址+器件地址 I2C_WaitAck()I2C_Stop(); I2C_SendByte(REG_A

10、ddress ); /设置低起始地址 I2C_WaitAck(); I2C_SendByte(REG_data); I2C_Stop(); delay5ms();/单字节读取*unsigned char Single_Read(unsigned char SlaveAddress,unsigned char REG_Address) unsigned char REG_data; /I2C_SendByte(REG_Address &7) | REG_Address &test=1; I2C_SendByte(u8) REG_Address); I2C_Start(); I2C_SendByt

11、e(SlaveAddress+1); REG_data= I2C_RadeByte(); I2C_NoAck(); /return TRUE; return REG_data; /* 函数名称 : RCC_Configuration(void)* 函数功能 : 时钟初始化* 输 入 : 无* 输 出 :* 返 回 :*/void RCC_Configuration(void) /* RCC system reset(for debug purpose) */ RCC_DeInit(); /* Enable HSE */ RCC_HSEConfig(RCC_HSE_ON); /* Wait ti

12、ll HSE is ready */ HSEStartUpStatus = RCC_WaitForHSEStartUp(); if(HSEStartUpStatus = SUCCESS) /* HCLK = SYSCLK */ RCC_HCLKConfig(RCC_SYSCLK_Div1); /* PCLK2 = HCLK */ RCC_PCLK2Config(RCC_HCLK_Div1); /* PCLK1 = HCLK/2 */ RCC_PCLK1Config(RCC_HCLK_Div2); /* Flash 2 wait state */ FLASH_SetLatency(FLASH_L

13、atency_2); /* Enable Prefetch Buffer */ FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); /* PLLCLK = 8MHz * 9 = 72 MHz */ RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); /* Enable PLL */ RCC_PLLCmd(ENABLE); /* Wait till PLL is ready */ while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) = RESET) /* S

14、elect PLL as system clock source */ RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); /* Wait till PLL is used as system clock source */ while(RCC_GetSYSCLKSource() != 0x08) /* Enable GPIOA, GPIOB, GPIOC, GPIOD, GPIOE, GPIOF, GPIOG and AFIO clocks */ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Pe

15、riph_GPIOB , ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD , ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE | RCC_APB2Periph_GPIOF , ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOG | RCC_APB2Periph_AFIO , ENABLE); GPIO_Configuration(void) 端口初始化void GPIO_Configuration(void)

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2