void Init_MPU9250(void)
{
/*
Single_Write(GYRO_ADDRESS,PWR_M, 0x80); //
Single_Write(GYRO_ADDRESS,SMPL, 0x07); //
Single_Write(GYRO_ADDRESS,DLPF, 0x1E); //根据手册,按需修改
Single_Write(GYRO_ADDRESS,INT_C, 0x00 ); //
Single_Write(GYRO_ADDRESS,PWR_M, 0x00); //
*/
Single_Write(GYRO_ADDRESS,PWR_MGMT_1, 0x80);
Delaym(5000);
Single_Write(GYRO_ADDRESS,PWR_MGMT_1, 0x00); //解除休眠
Delaym(5000);
Single_Write(GYRO_ADDRESS,SMPLRT_DIV, 0xC8); //采样频率设置
Single_Write(GYRO_ADDRESS,MPU_CONFIG, 0x01); //低通滤波器设置
Single_Write(GYRO_ADDRESS,GYRO_CONFIG, 0x18); // 0001 1000 0x18 = 2000°/s 0x00 = 250 0x08 = 500 0x10 = 1000
Single_Write(GYRO_ADDRESS,ACCEL_CONFIG, 0x01); // 0001 1001 0x11 = 8g 0x01 = 2g 0x09 = 4g 0x19 = 16g
//----------------
Delaym(5000);
Single_Write(GYRO_ADDRESS,RA_INT_ENABLE, 0x01); //使能 data ready 中断
Delaym(5000);
Single_Write(GYRO_ADDRESS,RA_INT_ENABLE, 0x01); //使能 data ready 中断
Delaym(5000);
Single_Write(MAG_ADDRESS,0x0A, 0x01);//16bit output
Delaym(5000);
Single_Write(MAG_ADDRESS,0x0A, 0x01);//16bit output
}
|