找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2101|回复: 0
收起左侧

关于I2C的应答问题

[复制链接]
ID:51016 发表于 2013-6-17 21:07 | 显示全部楼层 |阅读模式
请教高手关于I2C发送完1字节数据或地址后怎么接收应答信号,下面是我的程序,但是没有收到应答,为什么?
void write(uchar a)
{
        uchar i;
        ack=0;
        while(!ack)
        {
                scl=0;
                delayus(3);
                for(i=0;i<8;i++)
                {
                        if(a&0x80==0x80)
                                sda=1;
                        else
                                sda=0;
                        delayus(1);
                        scl=1;
                        delayus(3);
                        a=a<<1;
                        scl=0;
                        delayus(3);
                }
                sda=1;
                delayus(2);
                scl=1;
                delayus(3);               
                if(sda)
                        ack=0;
                else
                        ack=1;

                scl=0;
                delayus(3);
        }


delayus()是2us一次的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表