Vielen Dank für die Unterstützung. @Uwe B. habe nochmals alles
kontrolliert Hard- wie Software seitig. Dabei ist mir aufgefallen, dass
das LCD Display die richtige Temperatur (wert1) anzeigt, aber nur die
aktuelle Temp. wenn ich das Programm übertrage, danach ändert sich
nichts mehr.
Also mir kommt es so vor, als würde er das Temp.register nur einmal
auslesen, finde aber leider nicht raus wieso????
int main (void)
{
bool ok;
unsigned char antwort;
int wert=0;
char buffer [16];
char buffer2 [16];
unsigned char wert1, wert2;
lcd_init();
lcd_home();
lcd_clear();
MK3_INIT_TWI(); // init vom TWI-Bus
while(1)
{
//---------------------------------------------------------
// auslesen von Adresse 0x90
//---------------------------------------------------------
ok=MK3_TWI_START();
if(ok==true) {
antwort=MK3_TWI_SEND(0x90,false); // Slave-Adr = 0x90
if(antwort==TWSR_SLAVE_OK) {
MK3_TWI_SEND(0x00,false); // Temperaturregister auslesen
MK3_TWI_START();
MK3_TWI_SEND(0x91,false);// Read-Befehl senden
wert1=MK3_TWI_READ(true); // lesen von Bytewert Nr. 1
wert2=MK3_TWI_READ(false); // lesen von Bytewert Nr. 2
MK3_TWI_STOP();
lcd_string (itoa(wert1 , buffer , 10));
lcd_setcursor(0,2);
lcd_string (itoa(wert2 , buffer2 , 2));
//MK3_TWI_WAIT(10);
_delay_ms(1000);
lcd_home();
}
}
}
}