STM32 如何通过 I2C 读写 AT24C16 ?

2019-12-31 19:18发布

在设计电路前,没有仔细分析其他板子的电路图,匆忙用 STM32 I2C 读写 AT24C16,现在发现出问题了.不能正常读写.
后来仔细看了看 STM32 I2C 和 AT24C16 数据手册,发现了问题:
1.STM32 要求写设备时 I2C 的设备地址是0,读时为1,但是AT24C16 读写却相反.不知道是不是这个原因导致无法读写.
2.STM32 的读写时序只能对应 AT24C16 的序列读写模式
3.ST 的官方评估板 I2C 只是接个温度传感器.
难道STM32 I2C 天生不支持 24Cxx EEPROM ?
真的搞不懂。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
taoist
1楼-- · 2019-12-31 21:41
I2C设备一定是写0读1
LZ再仔细研究研究?
zf8848
2楼-- · 2020-01-01 00:59
确实是我搞错了,这两天有时间把I2C协议仔细看了看,再分析了 ST 的例子程序.基本能正确读写 I2C 总线了.
dragonwww
3楼-- · 2020-01-01 05:39
TO zf8848 :
  请问楼主是如何解决的啊?哪个地方错了?如何修改后能用的啊?多谢!
dragonwww
4楼-- · 2020-01-01 09:42
网上看到一个封装库,但没成功,哪位大侠指导一下啊!
zf8848
5楼-- · 2020-01-01 11:55
 精彩回答 2  元偷偷看……
robincui
6楼-- · 2020-01-01 17:47
顶一下,呵呵

一周热门 更多>