Hallo

Ich habe hier von der Schule ein Testboard mit einem A/D Wandler PCF8591.
Schaffe es ihn aber nichtmal zu initalisieren. Bekomme immer -256 ausgelesen.

Code:
/***********ADU INIT****************/

void adu_init(void)
{
	unsigned char adress =0x9E; 	// Address Pins A0=1 A1=1 A2=1
	unsigned char command=0x00;     // Command Byte // Einstellungen 
	
	i2c_start();					// I2C StartSequenz
	delay_5us();					// Kurze Wartezeit
	i2c_write(adress);				// Baustein Addresierung
	delay_5us();					// Kurze Wartezeit
	delay_5us();
	i2c_write(command);				// Initialisierung D/A Aktiv A/D Channel 0 !´
	i2c_write(0);					// Acknowledge
	delay_5us();
}
Ich denke irgendwas bei der Adressierung oder Timing..:/
Das hier ist rein die Init Routine.
gelesen wird dann einfach direkt nach diesem Aufruf mit i2c_read() einer Funktion von mir.
Die I²C Routinen sind eigentlich auch mittels EEPROM getestet und sollten funktionieren.
Finde den Fehler einfach nicht.

Edit

hier so lese ich
Code:
/*************RÜCKGABE**************/
unsigned char adu_read()		
{
	i2c_write(0x9F);
	adu_byte=i2c_read();
	i2c_write(0);		
	return adu_byte;				// Rückgabe von gelesen Wert
}