Skip to main content
Pavel A.
Dec 22, 2020 6:55 PM UTC
Solved

I2C speed mode is defined only by timing?

When I2C "Speed mode" changes in CubeMX/IDE from Standard to Fast, it seems that only the Init.Timing value changes in generated code.

This value goes into TIMINGR register of the I2C .

Am I missing anything or this value defines the "speed mode" entirely?

That's, the "speed mode" exists only in the Cube's GUI?

The chip is STM32H743/753

Thanks,

Pavel A

This topic has been closed for replies.
Piranha
PiranhaBest answer
Principal III
Dec 24, 2020 2:46 PM UTC

In addition the SYSCFG_PMCR register has I2CxFMP and PBxFMP bits for Fast-mode plus (Fm+).

3 replies

waclawek.jan
Super User
Dec 22, 2020 8:28 PM UTC

> Am I missing anything or this value defines the "speed mode" entirely?

I2C Fast -mode is defined in chapter 5.1 of the I2C specification.

JW

Pavel A.
Pavel A.Author
Dec 23, 2020 9:48 PM UTC

Yes, in the RM there are no other register bits related to the "speed mode", only the TIMINGR value.

-- pa

Piranha
PiranhaBest answer
Principal III
Dec 24, 2020 2:46 PM UTC

In addition the SYSCFG_PMCR register has I2CxFMP and PBxFMP bits for Fast-mode plus (Fm+).