hmm hast du das mit nem Multimeter gemessen? Immerhin "fliegen" die Pegel mit ein paar kHz über die Leitung und da kommt ein Multimeter nicht mit und spuckt falsche ergebnisse aus..
Ringo
Hi,
ich hab ein Problem mit meinem TWI. Und zwar fällt die Spannung auf SCL von ~5V auf ~65mV ab wenn ich was sende. Und die Spannung bleibt da dann auch. Ich benutze einen Mega32 @ 16Mhz.
Ich hoffe ihr könnt mit helfen.
MfG
Nico
hmm hast du das mit nem Multimeter gemessen? Immerhin "fliegen" die Pegel mit ein paar kHz über die Leitung und da kommt ein Multimeter nicht mit und spuckt falsche ergebnisse aus..
Ringo
Nobody is Perfect
Visit www.ringo.roboterbastler.de last update: 23.05.2009
Joa. Mit nem Multimeter. Nen Scope hab ich gerad nicht zur Hand. Erst wieder in 2 Wochen inner Firma. Ich dachte vllt. das es daran liegt. Aber dann hat mein DS1621 wohl wirklich einen mitbekommen. Weiss zufällig jemand wie ich das testen kann? Ohne irgendwelchen Code zu tippern. Weil da können sich ja auch Fehler einscheichen.....Aber ich wollte gerne auf nurmal sicher gehn ob mein DS1621 überhaupt noch geht....
Danke & Gruß
Nico
Hi,
also mein DS 1621 geht. Aber irgendwie kommt da immer nur ein un die selbe HEX raus. Ich hab folgenden Code:
Erst wenn ich nen RESET mache, kommt da ne andere HEX raus.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"); } }
MfG
Nico
Lesezeichen