MPU9150运动中断配置的问题,请高手帮忙看一下!!!
前两天使用stm32f103移植了官方的DMP库,并已可以使用dmp_read_fifo函数读取到四元数;昨天想使用DMP库中的函数来配置运动中断,碰到以下问题:1. 使用dmp_set_interrupt_mode(DMP_INT_GESTURE)配置中断以后,感觉板子每次要转动一个很大的角度才产生一次中断,拿着板子轻轻晃动不会产生中断;产生一次中断后可以读取到四元数。
2.使用mpu_lp_motion_interrupt函数配置中断后,产生中断的灵敏度比上一个函数效果好,但是一直无法读取到有效的四元数。
另外在附上相关的配置代码,请高手帮忙指点一下。
result = mpu_set_sensors(INV_XYZ_GYRO | INV_XYZ_ACCEL);
result = mpu_configure_fifo(INV_XYZ_GYRO | INV_XYZ_ACCEL);
result = mpu_set_sample_rate(DEFAULT_MPU_HZ);
result = mpu_get_sample_rate(&gyro_rate);
result = mpu_get_gyro_fsr(&gyro_fsr);
result = mpu_get_accel_fsr(&accel_fsr);
result = dmp_load_motion_driver_firmware();
result = dmp_set_orientation(inv_orientation_matrix_to_scalar(gyro_orientation));
result = dmp_enable_feature(DMP_FEATURE_6X_LP_QUAT | DMP_FEATURE_TAP |
DMP_FEATURE_ANDROID_ORIENT | DMP_FEATURE_SEND_RAW_ACCEL | DMP_FEATURE_SEND_CAL_GYRO |
DMP_FEATURE_GYRO_CAL);
result = dmp_set_fifo_rate(DEFAULT_MPU_HZ);
//自校准
run_self_test();
result = mpu_set_dmp_state(1);
//这两个配置中断函数选其中之一使用
result = dmp_set_interrupt_mode(DMP_INT_GESTURE);
//result = mpu_lp_motion_interrupt(960,1,5);
页:
[1]