//在24XX指定地址开始写入指定长度为LEN的内容
//WriteAddr :开始写入的地址
//DataToWrite:数据数组首地址
//Len :长度
void AT24CXX_WriteLenByte(u16 WriteAddr,u32 DataToWrite,u8 Len)
{
u8 t;
for(t=0;t<Len;t++)
{
AT24CXX_WriteOneByte(WriteAddr+t,(DataToWrite>>(8*t))&0xff);
}
}
菜鸟的问题来了:这里不是说DataToWrite是数据数组的首地址吗?但是函数AT24CXX_WriteOneByte()的第二个参数是数据啊,请问这里的数据首地址和数据是怎么通过上面红色对的那个表达式对应起来的啊?
紧接着后面从指定地址读长度为LEN的数据这个函数我也有点小疑惑,貌似读出来的数据适合原来存储的顺序相反啊,比如说原来相邻两个地址数据分别为:0X01,0X11,读出来的16位数据则为0X1101。是这样吧?
还有:我用原子的源代码,为什么程序烧进去之后没有按下KEY0,LCD上直接显示"24C02 Write Finished!"呢?
|