接前一篇文章:ICM20948 DMP代码详解(49)
上一回解析完了inv_icm20948_write_secondary函数的代码,本回回到inv_icm20948_execute_write_secondary函数,继续解析后续代码。为了便于理解和回顾,再次贴出inv_icm20948_execute_write_secondary函数代码,在EMD-Core\sources\Invn\Devices\Drivers\ICM20948\Icm20948AuxCompassAkm.c中,如下:
int inv_icm20948_execute_write_secondary(struct inv_icm20948 * s, int index, unsigned char addr, int reg, uint8_t v)
{
int result = 0;
result |= inv_icm20948_write_secondary(s, index, addr, reg, v);
result |= inv_icm20948_secondary_enable_i2c(s);
inv_icm20948_sleep_us(SECONDARY_INIT_WAIT*10