您好,
我们正在升级到TI SDK 6.10 ,并发现I2C驱动程序存在问题。 问题是我们在调用I2C_OPEN时看到SCL和SDA线路上出现故障,在随后的I2C传输中我们得到了NAK。 使用SDK 5.20 时无法看到这种情况。
SDK 5.20

SDK 6.10

在SDK 5.40 中,引脚驱动器已从包括I2C驱动程序在内的多个驱动程序中移除,取而代之的是直接调用GPIO驱动程序。
当在I2C驱动器的函数 I2CCC26XX_initio (I2CCC26XX.c)中配置GPIO引脚时,我们会看到这个问题。 如下面所示,SDA和SCL在SDK 5.20 I2C驱动程序中被配置为输入,但在新的驱动程序中,它们被配置为输出,这似乎会导致出现故障。 我不知道这是否是在旧驱动程序中将引脚配置为输入的原因,我不确定它们是否在以后配置为输出。
SDK 5.20 -在I2CCC26XX_initio中配置PIN时
i2cPinTable[i++] = i2cPins.pinSDA | PIN_INPUT_EN | PIN_PULLUP | PIN_OPENDRAIN;
i2cPinTable[i++] = i2cPins.pinSCL | PIN_INPUT_EN | PIN_PULLUP | PIN_OPENDRAIN;
SDK PINS/SDK 6.10 -在I2CCC26XX_initio中配置5.40 时
GPIO_setConfig(object->sdaPin, GPIO_CFG_OUT_OD_PU);
GPIO_setMux(object->sdaPin, hwAttrs->sdaPinMux);
GPIO_setConfig(object->sclPin, GPIO_CFG_OUT_OD_PU);
GPIO_setMux(object->sclPin, hwAttrs->sclPinMux);
请您了解一下这一点吗?
巴西,
Johannes Kjällquist ñ o