我将从站的地址设置为0x1c。后来,我根据FPGA中的I2c协议将数据传输到了Arduino(用示波器检查波形)。 即使我将7位地址,R / W位和SDA更改为输入模式,也无法确认ACK。
作为示波器检查的结果,SDA处于h'z状态,因此它取决于最后发送的R / W值。
我确认示波器发送0 0 1 _ 1 1 0 0 / RW。
#define SLAVE 0x1C
void setup() {
///Wire.begin(SLAVE);
Wire.begin(0x1c);
//Wire.beginTransmission(0x1C);
Wire.onReceive(receiveFromMaster);
Wire.onRequest(sendToMaster);
pinMode(13, OUTPUT);
digitalWrite(13, LOW);
Serial.begin(9600);
}