My Atmega644 communicates via the hardware twi-interface with other CPUs. Other slaves, such as temperature probes (LM75) and digital potentiometers are reached via software i2c, i.e on two normal cpu pins.
The problem is that when I need communication on the software i2c, the cpu is "stuck" until it returns from the communication. My other tasks are put on hold.
The communication on the software i2c is not time critical, I ask for temperatures once every second.
Is there any sample code for a software i2c solution that is timer based, or interrupt based? All code I have seen is of the init-and-wait kind.