cancel
Showing results for 
Search instead for 
Did you mean: 

I2C Multimaster

Peter Morrow
Associate II
Posted on January 12, 2018 at 11:12

Hi,

We have a 'distributed' system in place where we have a single I2C master (STM32F7) and a number of I2C slaves (STM32F0).  I understand that I2C multimaster is supported, where you have a number of masters speaking to a number of slaves.  What I'd like to understand is it is possible to run an I2C bus on any microcontroller (F0 or F7) in master AND slave mode.  Ideally we'd have another bus but we don't have that luxury unfortunately.  The scenario is we'd like to send messages over I2C from F7 (master) to F0 (slave), but we'd like like to also initiate messages from the F0 back to the F7.

Could someone shed some light on whether this is possible without disabling and re-enabling the I2C peripheral on the fly?  Effectively we want I2C masters to be able to listen for async messages received from other MCUs.

Thanks,

Peter.

10 REPLIES 10
Dan Hepler
Associate III
Posted on March 19, 2018 at 19:46

This response may be too late, but be aware of a hardware bug I found and reported to ST when using multimaster mode. If you notice that you are getting garbled messages and missing ARLO events, check out my write-up:

https://community.st.com/0D50X00009XkgoYSAR

Good luck!

Dan