我只是写的串口读I2C驱动的MPU6050的数据

2019-08-22 16:33发布

file:///E:QQQQ消息记录等数据2993955925ImageC2CVOM}MRK)C)VQLS)09I_9QTR.png
【1】main函数
int main(void)
{
//        u8 i=0;
//  s16 accgyo[7]={0};


        USART1_Config(); /* 串口1初始化 */
  delay_init(72);  

        I2C_EE_Init();/* I2C 外设初(AT24C02)始化 */
        MPU6050_Initialize();                  //寄存器初始化
       
        USART1_printf(USART1, " 这是一个I2C外设(AT24C02)读写测试例程 ");
        USART1_printf(USART1, " ("__DATE__ " - " __TIME__ ") ");
            while(1)


程序老卡在6050初始化这,在main不加这个初始化就能用串口,加了6050初始化串口就不能显示了。

【2】6050初始化函数是

void MPU6050_Initialize(void)
{       
       
        int i=0,j=0;
//在初始化之前要延时一段时间,若没有延时,则断电后再上电数据可能会出错
for(i=0; i<1000; i++)
        {
                for(j=0; j<1000; j++)
                {
                }       
        }
         MPU6050_I2C_ByteWrite(0xd0,0x00,MPU6050_RA_PWR_MGMT_1);
         MPU6050_I2C_ByteWrite(0xd0,0x07,MPU6050_RA_SMPLRT_DIV);
         MPU6050_I2C_ByteWrite(0xd0,0x06,MPU6050_RA_CONFIG);
         MPU6050_I2C_ByteWrite(0xd0,0x01,MPU6050_RA_ACCEL_CONFIG);
         MPU6050_I2C_ByteWrite(0xd0,0x18,MPU6050_RA_GYRO_CONFIG);
}

【3】I2C配置的是SCL在PB6,SDA在PB7   ,硬件6050连接的是VCC-3.3V,GND-GND,SCL-PB6,SDA-PB7,AD0-3.3V   其余引脚未接




不知道问题出在哪里


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。