Gast
#2516555
Hallo Möchte gerne einen PIC 16f887 als I2C Slave ansteuern, er soll vom anderen Prozessor nur daten erhalten und keine senden. Nun habe ich den i2c Bus so void vI2CInit (void) { // Pin RC3 und RC4 vom PORTC als Eingaenge konfigurieren TRISC=(TRISC|0b00011000); // Busgeschwindigkeit einstellen SSPADD=0x06; // Adresse 0x06 // Modus setzen SSPCON=0x3E; // Slave mode, Takt freigeben, Schnittstelle ein } initialisiert und das Interuptflag SSPIF mit SSPIE freigegeben. Wenn der andere Prozessor nun ein Telegramm sendet, empfange ich die direkt die Adresse 0x06. Muss ich das ACK nun selber setzen oder wieso habe ich die Adresse im I2C Buffer? Was habe ich falsch gemacht? gruss daniel