Hi,
also mein DS 1621 geht. Aber irgendwie kommt da immer nur ein un die selbe HEX raus. Ich hab folgenden Code:
Code:
i2c_init();
rprintf("I2C INIT: DONE\r\n");
if(i2c_start(DS1621+I2C_WRITE)) { rprintf("DETECTING DEVICE ON 0x90: FAILED\r\n"); }
else {
rprintf("DETECTING DS1621 ON 0x90: DONE\r\n");
i2c_write(0xEE);
i2c_write(0xAA);
i2c_stop();
if(i2c_rep_start(DS1621+I2C_READ)) { rprintf("READ ERROR"); }
else {
rprintf("READING 0xAA\r\n");
temp1 = i2c_readAck();
temp2 = i2c_readAck();
i2c_write(0x22);
i2c_stop();
rprintfu08(temp1);
rprintf("\r\n");
rprintfu08(temp2);
rprintf("\r\n");
rprintf("READING DONE\r\n");
rprintf("CONVERTING\r\n");
temp3 = temp1*0x0A;
if(temp2 > 0x80) { temp3 +=0x05; }
rprintfu32(temp3);
rprintf("\r\n");
}
}
Erst wenn ich nen RESET mache, kommt da ne andere HEX raus.
MfG
Nico
Lesezeichen