STM32 硬件IIC读GY-86模块(MPU6050 HMC5883L MS5611 )

2019-07-20 10:00发布

最近想做四轴飞行器,淘宝了个GY-86模块,用STM32硬件IIC读它,MUP6050能读到数据,但是HMC5883L读不到数据,仿真发现当发送HMC5883地址过去时候,模块一直没有应答。。。。。。不知道是什么问题?请大家帮忙看下。
原理图:


IIC代码 [mw_shl_code=c,true] I2C_GenerateSTART(I2C1, ENABLE); //产生 I2Cx 传输 START 条件 while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_MODE_SELECT)); //检查最近一次I2C事件是否是输入的事件 I2C_Send7bitAddress(I2C1, 0x3C, I2C_Direction_Transmitter);//向指定的从 I2C 设备传送地址字,选择发送方向 while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)); I2C_SendData(I2C1, WriteAddr); //通过外设 I2Cx 发送一个数据 while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_TRANSMITTED)); I2C_SendData(I2C1, pBuffer); while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_TRANSMITTED)); I2C_GenerateSTOP(I2C1, ENABLE);//产生 I2Cx 传输 STOP 条件[/mw_shl_code]

程序一直停在 [mw_shl_code=c,true]while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED));[/mw_shl_code]
后来我把0X3C换成0X1E和0X3D都不行。。。。。。


IIC基本配置代码
[mw_shl_code=c,true]void I2C_Mode_Config(void) { I2C_InitTypeDef I2C_InitStructure; /* I2C 配置 */ I2C_InitStructure.I2C_Mode = I2C_Mode_I2C; /* 高电平数据稳定,低电平数据变化 SCL 时钟线的占空比 */ I2C_InitStructure.I2C_DutyCycle = I2C_DutyCycle_2; I2C_InitStructure.I2C_OwnAddress1 = 0x0A; I2C_InitStructure.I2C_Ack = I2C_Ack_Enable ; /* I2C的寻址模式 */ I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit; /* 通信速率 */ I2C_InitStructure.I2C_ClockSpeed = 400000; /* I2C1 初始化 */ I2C_Init(I2C1, &I2C_InitStructure); /* 使能 I2C1 */ I2C_Cmd(I2C1, ENABLE); }[/mw_shl_code] 不知道没有错误,我是先用同一段代码先读到MUP6050的值,然后改下从机地址去读HMC5883L,但是没有响应


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
23条回答
新人求带
1楼-- · 2019-07-21 01:50
楼主你解决木有,我这也是能读6050,不能读5611
Ants
2楼-- · 2019-07-21 04:29
Fliger 发表于 2015-8-9 11:18
楼主搞定没   求告知方法  我读出来hmc都是255  用的 第二种 pass throngh

你好,请问第二种方法读的是255,你解决了么?我现在也遇到这个问题,望指教,谢谢!
Fliger
3楼-- · 2019-07-21 10:22
 精彩回答 2  元偷偷看……
l1234564555
4楼-- · 2019-07-21 14:37
Ants 发表于 2016-4-28 16:24
你好,请问第二种方法读的是255,你解决了么?我现在也遇到这个问题,望指教,谢谢!

读0XFF的路过,怎么回事呢这个问题
haitian1992
5楼-- · 2019-07-21 15:52
你们可以看看HMC5883L模块的初始化里面包含I2C的初始化没
空心杯
6楼-- · 2019-07-21 18:55
 精彩回答 2  元偷偷看……

一周热门 更多>