找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2795|回復: 0
收起左側

關于I2C的應答問題

[復制鏈接]
ID:51016 發(fā)表于 2013-6-17 21:07 | 顯示全部樓層 |閱讀模式
請教高手關于I2C發(fā)送完1字節(jié)數(shù)據(jù)或地址后怎么接收應答信號,下面是我的程序,但是沒有收到應答,為什么?
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一次的
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表