相信这是ouravr共享中,目前最完美的STM32读写EEPROM驱动,硬件I2C中断加DMA方式(原创)

2019-12-14 12:41发布

山寨一下标题,哈哈。
这个驱动是我花了一整天弄出来的,理论上支持AT24C02-AT24C512全部的型号,我只测试过AT24C16,AT24C32。
换型号改一下头文件定义就可以,调用也很简单,见头文件,支持任意地址读写任意长度,欢迎测试。
点击此处下载 ourdev_612596ZAFTBZ.rar(文件大小:4K) (原文件名:i2c_ee.rar)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
98条回答
xdpzxh
1楼-- · 2019-12-25 18:54
回复【86楼】wuguoyan 吴国炎
-----------------------------------------------------------------------

回复【72楼】lj2505
-----------------------------------------------------------------------

我用的mirochip的24LC256搞iic也郁闷了,几天都没有弄出来,我也要份工程哈,xdpzxh@126.com,谢谢!
wind2100
2楼-- · 2019-12-25 20:24
测试过稳定不? 像ST的 例子就。。。
不过思路不错,但是会耗掉一部份资源  必须要中断级别为 最高级。
这个在实时系统中,有些小小的问题。一般I2C在实时系统中为次要存储。
还是顶了。
gpfrank
3楼-- · 2019-12-25 22:48
按照ST的官方ERRATA说明,要用IIC必须
1)最高优先级
2)启动DMA.

如果程序中频繁通过IIC读写的话,个人建议使用IO口模拟。
因为本人程序频繁读写,又不能设置最高优先级,
所以开始测试没问题,但是长时间运行96小时最低要求,发现ST的IIC根本不行。
改成IO口模拟,长时间运行24*30天,无问题。

小应用可以用用IIC,复杂程序下还是IO口模拟吧。
zxs2000
4楼-- · 2019-12-26 01:30
 精彩回答 2  元偷偷看……
xinjie1023
5楼-- · 2019-12-26 06:06
收藏。
gaoyi3052
6楼-- · 2019-12-26 09:28

一周热门 更多>