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