2010-10-01 2:00 PM
STM32F103 / I2C / FSMC
2011-05-17 5:09 AM
There seems to be a problem with FSMC and I2C. I found on another forum someone encounter the same issue. They state that: ''ST has a really buggy I2C compared to other microcontrollers''.
This is the link: http://www.stm32circle.com/forum/viewtopic.php?pid=47552011-05-17 5:09 AM
I am using IO emulated I2C to bypass all these troubles in my applications where the FSMC was used.
2011-05-17 5:09 AM
FSMC and I2C share the same I/O pin. This pin is NADV/SDA (PB6). In later versions of the Reference Manual ST provides a register to disable just the FSMC_NADV in register AFIO_MAPR2.
There is also a sample project (UM0549) where the developer must disable FSMC clock to be able to read a temperature setting using I2C. If you don't have the AFIO_MAPR2 register and are using external memory and C++, this might be very challenging because you cannot access external memory while reading or writing using I2C. However, I was able to get this accomplished and be able to have I2C working along with being able to use external SRAM, but not both at the same time.We’re moving the ST Community to a new platform to give you a better and more reliable community experience.