HAL
__LL_I2C_SPEED_FAST_TO_CCR is only used within HAL.
 
Symbols
loading...
Files
loading...
CodeScopeSTM32 Libraries and SamplesHAL__LL_I2C_SPEED_FAST_TO_CCR

__LL_I2C_SPEED_FAST_TO_CCR macro

Compute Speed Fast clock range to a Clock Control Register (I2C_CCR_CCR) value.

Syntax

#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__

This parameter can be one of the following values: @arg LL_I2C_DUTYCYCLE_2 @arg LL_I2C_DUTYCYCLE_16_9

Return value

Value between Min_Data=0x001 and Max_Data=0xFFF

References

LocationText
stm32f4xx_ll_i2c.h:322
#define __LL_I2C_SPEED_FAST_TO_CCR(__PCLK__, __SPEED__, __DUTYCYCLE__) (uint32_t)(((__DUTYCYCLE__) == LL_I2C_DUTYCYCLE_2)? \
stm32f4xx_ll_i2c.h:856
__LL_I2C_SPEED_FAST_TO_CCR(PeriphClock, ClockSpeed, DutyCycle) | \