[讨论] 【Hanker TI M4】24C02的从机地址问题

常见泽1   2015-5-2 18:31 楼主
正好在搞AT24C02,本来不想研究底层

但是还是看了下


   // Start with a dummy write to get the address set in the EEPROM.

    //

    SoftI2CSlaveAddrSet(&g_sI2C, SLAVE_ADDR | (ulOffset >> 8), false);



然后这个#define SLAVE_ADDR              0x50

这个地址我就看不懂了  记得AT24C02 是从1010 000 W/R 开始的,

以前编写的时候都是0xa0 然后加偏移地址  

这个奇怪了??

不解

回复评论 (4)

有啥好奇怪的?0x50=0b101 0000,一个标准的7位地址。
(0x50<<1)=0xa0=0b1010 0000再加上W/R就可以直接用了。

这个位置虽然是一个8位的字节,但是实际上应该是7位地址加1位的读写位拼接而成的。
我们平常为了方便编程经常将其合并成一个8位的字节直接使用,但是不要忘记其本质,地址位并不是8位的。
点赞  2015-5-2 19:22
楼上说的对
点赞  2015-5-2 21:11
引用: qiushenghua 发表于 2015-5-2 19:22
有啥好奇怪的?0x50=0b101 0000,一个标准的7位地址。
(0x50

是的 是这回事

受教了

但是在程序里没有找到左移一位的代码 不知道在那里完成的

水平太差了
点赞  2015-5-2 22:37
楼主 你好 请问 这个问题怎么解决的呢
点赞  2019-1-14 10:55
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复