Zitat Zitat von PicNick
Ich les das so:
Wenn du die I2C-SOFTWARE- variante verwendest, sollst du anpassen:
...
Woher erkenne ich welche Variante die Bibliothek nimmt?

Mein aktueller Sourcecode (Versuch einen TMP175 Sensor über I2C auszulesen):

Code:
#include <stdlib.h> 
#include <avr/io.h>
#include <string.h>
#include "lcd.h"
#include "rn-control.h"
#include "i2cmaster.h"


/** Some DEFINES here...*/
#define Tmp001  0x48

/*### Hauptschleife ###*/
int main(){
	/* Initialisierungen */
	waitms(1000);
	lcd_init(LCD_DISP_ON);
	lcd_clrscr();//!< loescht das Display
	lcd_puts("initializing i2c...\n");
	i2c_init();
	unsigned char ret1,ret2;
	/* String auf Display anzeigen */
	i2c_start_wait(Tmp001+I2C_WRITE);
	i2c_write(0xB0);
	lcd_puts("done\n");	i2c_rep_start(Tmp001+I2C_READ);
	ret1 = i2c_readAck();
	lcd_puts((const char*)&ret1);
	ret2 = i2c_readNak();
	lcd_puts("hurray\n");
	//lcd_puts(&ret1);
	if(ret1)
		lcd_puts("hurray ;\n");
	for(;;){//ever
		waitms(500);
	}
	return 0;
}
Möchte gerne statt den 100kHz nur 1kHz als Takt nehmen.
Auf dem Oszi bekomme ich unschöne Taktimpulse...