您好!
以下代码片段来自 Launchpad 的 lab14:
"G_sISL29023Inst"是一个指向结构体的指针、传递给"ISL29023Init"函数。
但在 ISL29023Init 函数调用之前、我没有看到该结构已使用任何数据进行初始化-您能解释一下吗
int main (void) { float fAmbient; uint8_t ui8Mask; ROM_SysCtlClockSet (SYSCTL_SYSDIV_5|SYSCTL_USE_PLL|SYSCTL_XTAL_16MHz|SYSCTL_OSC_MAIN); ROM_SysCtlPeripheralEnable (SYSCTL_Periph_ROM);SYSCBLE_SYIPHET_SYIOD (SYSCBLE_SYSCGC3) ROM_GPIOPinConfigure (GPIO_PD0_I2C3SCL); ROM_GPIOPinConfigure (GPIO_PD1_I2C3SDA); GPIOPinTypeI2CSCL (GPIO_PORTD_base、GPIO_PIN_0); ROM_GPIOPinTypeI2C (GPIO_PORTD_base、 GPIO_PIN_1); ROM_IntMasterEnable (); I2CMInit (&g_sI2CInst、I2C3_base、INT_I2C3、 0xFF、0xFF、ROM_SysCtlClockGet ()); SysCtlDelay (SysCtlClockGet ()/ 3); ISL29023Init (&g_sISL29023Inst、 &g_sI2CInst、 ISL29023_I2C_address、ISL29023AppCallback、&g_sISL29023Inst); ISL29023AppI2CWait (__file__、__line__); ui8Mask =(ISL29023_CMD_I_OP_MODE_M); ISL29023ReadModifyWrite (&G) sISL29023Inst、ISL29023_O_CMD_I、~ui8Mask、 (ISL29023_CMD_I_OP_MODE_ALS_CONT_CONT) ISL29023AppCallback、&g_sISL29023Inst); ISL29023AppI2CWait (__file__、__line__); while (1) { ISL29023DataRead (&g_sISL29023Inst、 ISL29023AppCallback、&g_sISL29023Inst); ISL29023AppI2CWait (__file__、__line__); ISL29023DataLightVisibleGetFloat (&g_sISL29023Inst、 环境下); } }