最近在使用I2C的功能 想請問以下這兩行程式的動作是怎樣動作的?例如訊號準位變換或用途之類...
while ((I2C0->CON & I2C_SI) != I2C_SI); I2C0->CON &= ((~I2C_STA)&(~I2C_SI));
另外,程式在下面這個判斷式之後停止,control fail是指哪一部份有問題?該怎麼解決? 我用示波器看,好像是ACK的準位沒有pull low,表示受控端(slave)沒有接收到寫入的訊息嗎? if (I2STATUS != 0x18) { DEBUGMSG("I2C write control fail\r\n"); return FALSE;
}
|