【E1098】STM32F1硬件I2C读写EEPROM的例程

2021-09-12 14:38:26      索炜达电子      367     

项目编号:E1098

文件大小:158K

源码说明:带中文注释

开发环境:C编译器

简要概述:

传说STM32的硬件I2C有BUG,从而大家都使用软件模拟I2C。参考了网上一篇博客(racede.me)的文章,最后我写了一份硬件I2C读写24C512的例程,没有使用中断,可以稳定地工作在400kHz,并且支持多片EEPROM。我自己仅测试了2片24C512,首片地址是A0,第二片地址是A2。经过17个小时的压力测试后,自感代码比较稳定,现分享给有需要的朋友。

说明:

1、使用了I2C2,PB10和PB11

2、I2C工作频率为400kHz

3、支持多片EEPROM,型号不限;支持自动探测EEPROM的片数,但不支持识别EEPROM类型,需要手工代码指定。本人只测试了2片24C512的场景

4、本例程没有使用中断,也没有使用DMA,并且不受其它中断影响

5、该代码在STM32F103上测试通过

文件列表:

 └ i2c_ee

    │ i2c_ee.c

    └ i2c_ee.h

TAGSTM32F1
  • 8 次
  • 1 分