Gast
#172589
Hi, seit ein paar Wochen beschaeftige ich mich mit dem Atmel ATMega8 Controller. Ich moechte zwei dieser Controller ueber TWI/I2C mit einander sprechen lassen. Dazu verwende ich die I2C Routinen aus der AVRLib. Nachdem ich keinerlei Kommunikation zustande gebracht hatte, habe ich testweise einen 24C64 (kleiner 64kB EEPROM) ueber I2C angebunden. Dabei habe ich festgestellt, dass die interrupt-losen Funktionen (i2cMasterSendNI() bzw. i2cMasterReceive()) einwandfrei arbeiten, nur die Interrupt-Versionen funktionieren nicht. Ich habe testweise einen rprintf Befehl in den Interrupt-Handler (die SIGNAL() Routine in i2c.c) eingebaut und dabei festgestellt, dass nie ein Interrupt ausgeloest wird. i2cInit() wird aber zu anfangs aufgerufen und darin wird sowohl der TWI-Interrupt enabled (sbi(TWCR, TWIE);) als auch global Interrupts eingeschaltet (sei();). Hat jemand einen Tip, warum keine Interrupts ausgeloest werden ? Vielen Dank, Gruss Martin