接前一篇文章:ICM20948 DMP代码详解(50)
上一回解析完了inv_icm20948_setup_compass_akm函数的代码,本回回到inv_icm20948_set_slave_compass_id函数中,继续讲解后续内容。为了便于理解和回顾,再次贴出inv_icm20948_set_slave_compass_id函数代码,在EMD-Core\sources\Invn\Devices\Drivers\ICM20948\Icm20948DataBaseDriver.c中,如下:
int inv_icm20948_set_slave_compass_id(struct inv_icm20948 * s, int id)
{
int result = 0;
(void)id;
//result = inv_icm20948_wakeup_mems(s);
//if (result)
// return result;
inv_icm20948_prevent_lpen_control(s);
activate_compass(s);
inv_icm20948_init_secondary(s);
// Set up the secondary I2C bus