IIC_Send_Byte(0XA0+((WriteAddr/256)<<1))之我的见解

2019-08-16 21:35发布

因为是刚学习STM32,所以也看到很多人对这行代码不是很理解,我就来说说我自己的理解吧,也不知道是不是就这么,不对的话大神们多多指正,
首先因为EPPROM有不同型号,24C02 地址1010 A1 A2 A3 R/W 而其他的型号 A1 A2 A3 则变为 a10 a9 a8 。

其实0XA0相当于一扇门,而这一扇门里面有256位住户,也就是一个字节。WriteAddr/256这句话,就当于超过了一个字节,则需要移位了。
1010 A1 A2 a8 0 就等于另外一扇门, 里面也有256位住户。若再超过,则使用A2的门地址,依次类推。

不知道我的理解正不正确。请大家多多指教!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。