Tool/software: TI C/C++ Compiler
Hi,
I noticed that the software bit rate configuration of DSP is different from actual frequency of I2C clock.
I use provided I2C driver from TI and my relevant configuration is the following.
void initI2C(){
I2C_HwAttrs i2c_cfg;
/* Get the default I2C init configurations */
I2C_socGetInitCfg(0, &i2c_cfg);
I2C_Params_init(&i2cParams);
I2C_transactionInit(&i2cTransaction);
}
int i2c_doProcess(I2C_FUNCPtr i2cSetup){
volatile int ret = 1;
initI2C();
i2c_bitrateSet(I2C_400kHz);
i2c_handle = I2C_open(0, &i2cParams);
/* peripheral setting */
i2cSetup(&i2cTransaction);
int status = I2C_transfer(i2c_handle, &i2cTransaction);
if(!status){
ret = 0;
}
I2C_close(i2c_handle);
return ret;
}
As above, software configuration is I2C_400kHz however actual freq is approximately 330kHz.
At the default case, expected value is 100kHz however actual freq is approximately 90kHz.
Why does the differ cause ?