2010-10-01 02:00 PM
STM32F103 / I2C / FSMC
2011-05-17 05: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 05:09 AM
I am using IO emulated I2C to bypass all these troubles in my applications where the FSMC was used.
2011-05-17 05: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.