Archiv verlassen und diese Seite im Standarddesign anzeigen : TWI Spannungsabfall
nico_hann
26.08.2006, 18:00
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
nico_hann
26.08.2006, 18:44
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
nico_hann
27.08.2006, 12:35
Hi,
also mein DS 1621 geht. Aber irgendwie kommt da immer nur ein un die selbe HEX raus. Ich hab folgenden 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
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.