单片机/MCU论坛
直播中

liverpoolpjy

11年用户 4经验值
擅长:模拟技术
私信 关注
[文章]

关于iic芯片24c02应答的一个小问题。

在学习iic的时候,把写好的程序下载到板子后,发现每次从24c02中取出的数都是写入数据的一半,查了很久发现是程序中少写了一个应答信号(下面红色部分),出错部分程序如下:
uchar read_add(uchar address)
{
        uchar date;
        start();
        write_byte(0xa0);
        response();
        write_byte(address);
        response();
        start();
        write_byte(0xa1);
        response();
        date=read_byte();
        stop();
        return date;
}


我猜想是读取的时候只读了八位数据中的七位,所以数据才会变成写入的一半,可能是把应答信号“0”当成了一位数据?
但也不知道是否是那样,所以来请教各位

  • 指定地址读的数据帧格式

更多回帖

发帖
×
20
完善资料,
赚取积分