最近拿到一块板子,上面有个EEPROM,丝印被磨掉了,原理图上写了24cxx。问了硬件工程师也是一问三不知。
可以知道的是这类芯片现在基本都是国产,网上随便找个芯片手册就可以调起来。首先我需要确定这款芯片的容量。
可以看到型号比较多,那就一个个试吧。发送的地址先试了下0xA0可以通信成功,然后试了下0xA6,也可以,最后试了下0xAE,到0xAE就不行了。那可以确定这芯片型号是24C08了。
下面是对芯片的读写方法
注意一定要按照16字节/页写入,不然数据会读取时其他地址会出现不正确的数据。然后写入后不可以立即读取,它是一个硬件,需要等待一段时间读取,立即读取往往读不到。
我往芯片里写入16字节数据,然后读280个字节,让我们看看会发生什么。
我把cmd和cmd2分别写入两块地址中,分别是0xA0和0xA6,然后读取数据。
HAL_I2C_Master_Transmit(