Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
9 years, 4 months ago.
i2c Frequency() function limit
Hi People,
I have a pair of simple code for two ST Nucleo boards I have, one is set as I2C Master-transmitter and the other one is Slave-receiver. the codes are working fine together, and I have verified results both on oscilloscope and also on PC terminal with default I2C frequency (100KHz).
I tried to increase the I2C Frequency to 300KHz, with frequency() function. The problem arises when I try to use "i2c.frequency(300000)" for master, and "slave.frequency(300000)" for slave. Even with default 100000 value, the communication won't establish.
Am I missing something with this function?
I appreciate any help with this.
2 Answers
9 years, 4 months ago.
Hi,
Might want to check you are using pull-up resistors on the SCLK and SDA lines (typically 2K Ohms approx. for 400KHz)
Regards
Martin
(BTW I checked my i2c and could change the frequency from 10KHz to 400KHz (Yes I did try 10KHz!) with 200 and 300 options all worked fine posted program list tagged under i2c and eeprom)
9 years, 4 months ago.
Hi,
The available I2C frequencies on STM devices are : 100kHz, 400kHz and 1MHz (on some devices).
So try with 400 kHz instead of 300 kHz.
Regards.