微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 24C16的读写程序,为什么程序会自动写到地址0和地址256中?

24C16的读写程序,为什么程序会自动写到地址0和地址256中?

时间:10-02 整理:3721RD 点击:
这个是我的24C16的写数据程序:
void write_add(uint address,uchar date)
{
        start(); //开始信号
        write_byte(0xa0);  //设备地址,高四位为1010,后三位为A2,A1和A0的硬件值,最低位为W(0)或R(L)
        respons(); //响应函数
        write_byte(address); //写数据地址,写到地址为address的地方去
        respons();//响应函数
        write_byte(date);//写数据
        respons();//响应函数
        stop();//结束信号
}
器件地址都是000(当然是没用的)
我在给256的地址写数据的时候,程序会自动写到地址0和地址256中,这是为什么啊?

自己已经解决,是页选地址不对,超过255之后就是第二页,地址就是001了;超过511之后就是第三页了,地址就是010了。一次类推,希望给在玩这个东西的人一点建议。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top