__LL_I2C_SPEED_FAST_TO_CCR macro
Compute Speed Fast clock range to a Clock Control Register (I2C_CCR_CCR) value.
#define __LL_I2C_SPEED_FAST_TO_CCR(__PCLK__, __SPEED__, __DUTYCYCLE__) (uint32_t)(((__DUTYCYCLE__) == LL_I2C_DUTYCYCLE_2)? \
(((((__PCLK__) / ((__SPEED__) * 3U)) & I2C_CCR_CCR) == 0U)? 1U:((__PCLK__) / ((__SPEED__) * 3U))) : \
(((((__PCLK__) / ((__SPEED__) * 25U)) & I2C_CCR_CCR) == 0U)? 1U:((__PCLK__) / ((__SPEED__) * 25U))))
Arguments
__PCLK__
This parameter must be a value of peripheral clock (in Hz).
__SPEED__
This parameter must be a value between Min_Data=100Khz and Max_Data=400Khz (in Hz).
__DUTYCYCLE__
Return value
Value between Min_Data=0x001 and Max_Data=0xFFF