uchar IIC_receive_dat()//接受數(shù)據(jù)
{
uchar i,num;
SCL = 0;
delay1();
SDA = 1;
for(i = 0;i <= 7;i++)
{
SCL = 1;
delay1();
num = (num<<1)|SDA;
SCL = 0;
delay1();
}
return num;
}
接受程序如上,接收前已檢測到從機發(fā)送的ACK信號,然后開始執(zhí)行上面的接收程序,不過無法收到任何數(shù)據(jù),從機芯片手冊說的發(fā)送8bit數(shù)據(jù),然而我把接收結果與0到255一一比較,居然沒有找出收到的數(shù)據(jù)內(nèi)容到底是什么,0到255沒有一個數(shù)值能觸發(fā)我寫的條件,很迷惑,不是0,也不是0xff,這種場面真的第一次見,不知道有沒有大佬知道其中的問題,謝謝
|