Oh entschuldigug

Code für den Master wird bald nach gereicht, da ich an einem anderen PC programmiere. Ich programmiere in C mit WinAVR. Hier aber schonmal der Code für den I2C Bus für den Slave Atmega, welchen ich glaube ich hier aus dem Forum gesaugt habe...

Code:
#include "i2cbus.h"

unsigned char i2c_read_byte (void)
{
	/*send content of TWDR; TWEA = enable ACK*/
	TWCR = (1<<TWINT) | (1<<TWEA) | (1<<TWEN);
	/*wait, until byte has been received --> ACK*/
	while (!(TWCR & (1<<TWINT)));
	return TWDR;
}

unsigned char i2c_receive (void)
{
	unsigned char value = 0;
	value = i2c_read_byte ();
	return value;
}

Aufrufen tue ich dass dann folgendermaßen:

Code:
SIGNAL(SIG_2WIRE_SERIAL){
variablexyz = i2receive();
PORTB = 0xFF //LED am Slave anschalten;}
Die "variablexyz" habe ich vorher als volatile deklariert und initialisiert.