at24c02器件子地址是什么 5
bitISendStr(ucharsla,ucharsuba,uchar*s,ucharno){uchari;Start_I2c();//启动总线SendByte(sla...
bit ISendStr(uchar sla,uchar suba,uchar *s,uchar no)
{
uchar i;
Start_I2c(); //启动总线
SendByte(sla); //发送器件地址
if(ack==0)return(0);
SendByte(suba); //发送器件子地址
if(ack==0)return(0);
for(i=0;i<no;i++)
{
SendByte(*s); //发送数据
if(ack==0)return(0);
s++;
}
Stop_I2c(); //结束总线
return(1);
}
主函数中就可以调用ISendStr(0xae,4,*s,uchar no),请问前两个实参到底什么意思,一个器件地址 一个器件子地址?
主函数中接收函数的前两个实参也是0xae,4 不是应该0xaf才是读取吗?
就讲一下 器件地址 器件子地址是什么东西就行 展开
{
uchar i;
Start_I2c(); //启动总线
SendByte(sla); //发送器件地址
if(ack==0)return(0);
SendByte(suba); //发送器件子地址
if(ack==0)return(0);
for(i=0;i<no;i++)
{
SendByte(*s); //发送数据
if(ack==0)return(0);
s++;
}
Stop_I2c(); //结束总线
return(1);
}
主函数中就可以调用ISendStr(0xae,4,*s,uchar no),请问前两个实参到底什么意思,一个器件地址 一个器件子地址?
主函数中接收函数的前两个实参也是0xae,4 不是应该0xaf才是读取吗?
就讲一下 器件地址 器件子地址是什么东西就行 展开
2个回答
展开全部
0xae二进制为:1010 1110
(AT24C02的芯片地址为1010,其地址控制字格式为:1010 A2 A1 A0 R/W 。其中A2,A1,A0为可编程地址选择位。A2 A1 A0引脚接高、低电平后得到确定的三位编码,与1010形成7位编码,即为该器件的地址码。R/W为芯片读写控制位,该位为0,表示对芯片写操作,为1,表示对芯片读操作。)
4就是0x04
(片内地址寻址可对内部256B中的任一个地址进行读写操作,其寻址范围为0x00-0xff。共256个寻址单元。)
0xae是芯片在总线上的地址,4是要把数据写到芯片里的哪个位置。
(AT24C02的芯片地址为1010,其地址控制字格式为:1010 A2 A1 A0 R/W 。其中A2,A1,A0为可编程地址选择位。A2 A1 A0引脚接高、低电平后得到确定的三位编码,与1010形成7位编码,即为该器件的地址码。R/W为芯片读写控制位,该位为0,表示对芯片写操作,为1,表示对芯片读操作。)
4就是0x04
(片内地址寻址可对内部256B中的任一个地址进行读写操作,其寻址范围为0x00-0xff。共256个寻址单元。)
0xae是芯片在总线上的地址,4是要把数据写到芯片里的哪个位置。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询