4 Replies Latest reply on Aug 2, 2016 12:11 AM by pacr_284376

    Variable I2C speed


      I need to change the I2C speed while running my program. For example first check on low-speed which slaves are present, and if these slaves are all high-speed I would like to use high speed for the further communication.


      I do this by defining 2 I2C components (I2C_Slow and I2C_Fast) and multiplexing between them as indicated in "Figure 8 : I2C Bus Sharing". This example is for slaves but it also works for masters. 


      For the future, I would like to use a more  flexible way to change the I2C speed of the master.


      I cannot find and API to change to i2c rate. Am I overlooking it ? I did find the possibility to use external clocking but this seems rather complex.


      I'm using PSOC5LP and PSOC Creator 3.3SP1 with I2C Version 3.5